GNU/Linux >> Linux の 問題 >  >> Linux

TCP ラッパーによって拒否された SSH 接続

問題

サーバーは以下のエラーで ssh 経由でログインできませんでした。

ssh クライアントから:

$ ssh -vvv [email protected]
OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 10.131.12.10 port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6
ssh_exchange_identification: read: Connection reset by peer

ssh サーバーから:

# /usr/sbin/sshd -D -ddd
....snip....
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug3: fd 5 is not O_NONBLOCK
debug1: Server will not fork when running in debugging mode.
debug3: send_rexec_state: entering fd = 8 config len 583
debug3: ssh_msg_send: type 0
debug3: send_rexec_state: done
debug1: rexec start in 5 out 5 newsock 5 pipe -1 sock 8
debug1: inetd sockets after dupping: 3, 3
debug1: Connection refused by tcp wrapper

解決策

tcp ラッパーによって ssh 接続が拒否されました。クライアント マシンが SSH への接続を許可されているかどうかを判断するために、TCP ラッパーは次の 2 つのファイルを参照します。

  • /etc/hosts.deny
  • /etc/hosts.allow

以下の手順に従って、TCP ラッパーによって拒否された ssh クライアントの IP アドレスを特定してください:

1. /etc/hosts.deny と /etc/hosts.allow のすべての行をコメントアウトします

2. これで、ssh ログインが正常に機能するはずです:

$ ssh [email protected]
[email protected]'s password:
Last login: Fri Mar 16 11:14:44 2018 from server1

3. ssh サーバーに移動し、/var/log/secure を開きます ステップ 2 で表示されているタイムスタンプ「Last login:Fri Mar 16 11:14:44 2018」付近のメッセージに移動すると、以前に TCP ラッパーによって拒否された ssh クライアントの IP アドレスを取得できます。

4. /etc/hosts.deny と /etc/hosts.allow を復元し、/etc/hosts.allow に次の行を追加します (192.168.1.2 がステップ 3 で取得した IP アドレスであるとします)

# vi /etc/hosts.allow
sshd:192.168.1.2:allow

5. ssh ログインが機能しているかどうかを確認します。


Linux
  1. SSH接続タイムアウトを増やす方法

  2. Ssh –すでに確立されているSshチャネルを使用していますか?

  3. Ssh –スクリプトにパスワードを渡す?

  1. Ssh –サーバーにSSHで接続してKey_load_publicを取得しようとしています:そのようなファイルまたはディレクトリエラーはありませんか?

  2. mosquitto-client が拒否された接続を取得する

  3. SSH - ~/.ssh/config ファイルに -t コマンドを含める方法

  1. SSH接続に時間がかかりますか?ここにいくつかの修正があります

  2. LAN内からのSSH接続が拒否されましたか?

  3. TCP 接続で pcap ファイルを分割するためのツール?