sshd は接続を拒否しますか?

sshd は接続を拒否しますか?

何らかの理由で、仮想マシンからサーバー ファームのリモート仮想サーバーにアクセスできず、代わりに次のエラー メッセージが表示されます。

   OpenSSH_5.9p1, OpenSSL 1.0.0g 18 Jan 2012
   debug1: Reading configuration data /etc/ssh/ssh_config
   debug1: /etc/ssh/ssh_config line 20: Applying options for *
   debug1: Connecting to www.xxx.de [XXX.XXX.XXX.XXX] port 22.
   debug1: Connection established.
   debug1: permanently_set_uid: 0/0
   debug1: identity file /root/.ssh/id_rsa type -1
   debug1: identity file /root/.ssh/id_rsa-cert type -1
   debug1: identity file /root/.ssh/id_dsa type -1
   debug1: identity file /root/.ssh/id_dsa-cert type -1
   debug1: identity file /root/.ssh/id_ecdsa type -1 
   debug1: identity file /root/.ssh/id_ecdsa-cert type -1
   ssh_exchange_identification: Connection closed by remote host

最近、リバース シェル カンフーをたくさんやりました。しばらく前に防御スクリプトをセットアップしたのですが、何が問題なのでしょうか? 私のサーバーは Suse 12.1 を実行しています。

答え1

SSH クライアントにそのホストの古いキーがあるようです。 それをどうやって消去するかはわかりませんが、ID ファイルの部分から、その可能性があると思われます。

答え2

このエラーはさまざまな原因で発生する可能性がありますが、常にサーバーの問題を示しています。そのほとんどは、ファイルシステムまたはディレクトリの権限に関連しています (変更を加えていない場合は、その可能性は低いです)。リモート サーバーのルート ファイルシステムが読み取り専用で再マウントされているか、ディスク エラーが発生している可能性があります。システム エラー ログに何かが表示されるはずです。可能であれば、シャットダウンして、できるだけ早くファイルシステムをチェックしてください。ファイルシステムを修正すると、ほとんどの場合は修正されます。

答え3

この種の問題はサーバー側でデバッグする方が簡単だと思います(サーバーに移動できるか、別のアクセス手段がある場合)。

sshd のログ レベルを上げて、sshd が接続を閉じる理由をログで検査することができます。

man sshd言う

LogLevel
sshd(8) からのメッセージをログに記録するときに使用する詳細レベルを指定します。指定できる値は、QUIET、FATAL、ERROR、INFO、VERBOSE、DEBUG、DEBUG1、DEBUG2、および DEBUG3 です。デフォルトは INFO です。DEBUG と DEBUG1 は同じです。DEBUG2 と DEBUG3 はそれぞれ、より高いレベルのデバッグ出力を指定します。DEBUG レベルでのログ記録はユーザーのプライバシーを侵害するため、推奨されません。

答え4

TCP接続が受け入れられてすぐに閉じられる場合、それは次の方法でブロックされている可能性が高い。tcp_ラッパーこれはほとんどの場合denyhosts、コメントでインストールしたと記載されている を意味します。

可能であれば、別のアドレス(プロキシ経由など)から接続して、リストに載っているかどうかを確認してください/etc/hosts.deny。載っている場合は、フォローするこれらの指示あなたの住所を6つのデータベースから削除するには拒否ホスト維持します。オプションで、独自のアドレスも に追加します/etc/hosts.allow

ウェブサーバーは使用していないため動作し続けますtcp_ラッパーパフォーマンス上の理由からである。(実際、使用それ。)

関連情報