SSHポート番号を22から2222に変更しました。以前に設定した接続はデフォルトのSSHポート22です。問題ありません。 NAT がルーターに正しくマップされています。
デバッグしようとすると
ssh -v -p2222 www.example.com
このエラーが発生します。
debug1: SSH2_MSG_KEXINIT
以下はすべてのデバッグログです。
bob@server:~$ ssh -v -p2222 www.example.com
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to www.example.com [100.100.100.100] port 2222.
debug1: Connection established.
debug1: identity file /home/bob/.ssh/identity type -1
debug1: identity file /home/bob/.ssh/id_rsa type -1
debug1: identity file /home/bob/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.7p1 Debian-8ubuntu1.2
debug1: match: OpenSSH_4.7p1 Debian-8ubuntu1.2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1.2
debug1: SSH2_MSG_KEXINIT sent
Connection closed by 100.100.100.100
接続が閉じられたように、ネットワークの内部と外部の複数のコンピュータでgnome-terminal、putty、securecrtを使用しましたが、まだ同じエラーが発生します。
答え1
XENホストでこれが起こりました。私はこのホストを別のホストからコピーし、通常どおり新しいホストキーが後で作成されると思った後、/ etc / sshからホストキーを削除しました。しかし、これは決して起こらず、sshdはホストキーなしで幸せになりました。このホストで SSH を試みると、SSH2_MSG_KEXINIT の後に終了します。私がしなければならなかったのは、ホストキーを作成することだけでした。 Debian ベースのコンピュータでは、次のように行われました。
dpkg-reconfigure openssh-server
答え2
この問題が発生したため、ターゲットルーター/ファイアウォールとターゲットホストのMTUをソースホスト(1500)と同じに設定して解決しました。
答え3
同じ問題が発生しました。 sshd_configでポートを変更してsshdサービスを再起動すると、sshdが混乱し、ついにサーバーログを見たときに(できないように見える)、sshdはポートがすでに使用中であると文句を言いました。 、netstatが同意し、psはsshdサービスの複数のインスタンスが実行されていることを示しています。私はそれらを殺してsshdを再起動して接続することができました。問題を解決するために再起動しようとしましたが、問題が解決する可能性があるため、再起動を試みなかったことを誓いました。
簡単に言えば、ユーザーを認証するためにポート2222でリッスンする必要があるsshdは、実際にリッスンするのではなく、別のsshdプロセスです。私と同じ問題がある場合。
答え4
SSH2_MSG_KEXINITはバグではありません。 SSH 鍵交換プロセスを開始していることを通知します。
この時点で、相手が接続を閉じている場合は、明らかに何らかの理由であなたが好きではありません。 :-) リモートエンドのログには、接続が突然閉じられた理由に関する情報を含めることができます。 (例:TCPラッパー)