Ubuntu 12.04を実行して、OpenSSHサーバーをセットアップしました。 LAN内からは接続できますが、外部からは接続できません。他のUbuntu 12.04マシン(別のLANにある)と同じsshd_config
ファイルを使用しています。
$ ssh 192.168.0.2
うまくいきますが、
$ ssh 65.76.97.222
(作成されたIPアドレス)は機能しません。何も起こりません。エラーメッセージなどはありません。プロンプトはただそこに座っています。
以下のコメントのおかげで、ウェブサイト canyouseeme.org および ShieldsUP でポート22が実際に開いていることを確認できました。
オプション-vvv
を使用すると、次の結果が得られます。
$ ssh -vvv 65.76.97.222
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 65.76.97.222 [65.76.97.222] port 22.
debug1: Connection established.
debug1: identity file /home/myname/.ssh/id_rsa type -1
debug1: identity file /home/myname/.ssh/id_rsa-cert type -1
debug1: identity file /home/myname/.ssh/id_dsa type -1
debug1: identity file /home/myname/.ssh/id_dsa-cert type -1
debug1: identity file /home/myname/.ssh/id_ecdsa type -1
debug1: identity file /home/myname/.ssh/id_ecdsa-cert type -1
そして、プロンプトはただそこに座っています。
var/log/auth.log
からの詳細なデバッグ情報:
$ grep sshd /var/log/auth.log
[cutting old lines...]
Jul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
すべてのユーザー、特に自分のユーザー名の接続を許可しています。私を混乱させるのは、別のLAN上にあるにもかかわらず、他のマシンではこの問題が発生していないことです。このLANには、1台のコンピューターのみが接続されています。ここから進む方法のアイデアはありますか?
確認するいくつかのこと。
/etc/ssh/sshd_config
を確認し、面白いAllowUsers
エントリがないことを確認します。
接続するユーザーを次のように指定します。
ssh USER@SERVER
ssh SERVER -lUSER
ファイアウォールを確認してください(iptables
):
Sudo iptables -L --line-numbers
Sudo iptables -L -t nat --line-numbers
SSHサーバー上のゲートウェイがポート転送を行うルーターに設定されていることを確認します。
route -n
デフォルトルートはそのルーターを指す必要があります。そうしないと、それを介して接続を開始できますが、ACKはどこにも行きません!
ポートフォワーディングが正しく機能していることを確認する必要があります。通常、 https://www.grc.com/shieldsup > Proceed>ボックスにポート番号を入力し、ユーザー指定のカスタムポートプローブをクリックします。 。 TCPポートが実際に公開されているかどうかがわかります
ユーザーを宣言していますか?
ssh [email protected] -p51555
あなたがコードをあなたがそれを使用している方法で与えたなら、私はそれが現在のユーザー名にデフォルトになると信じています。
さらに、TARGETシステムのユーザーに許可が必要です。上記の例では「ジミー」