ポート転送に問題がないように見えるのに外部LANからSSH接続できない


8

Ubuntu 12.04を実行して、OpenSSHサーバーをセットアップしました。LAN内からは接続できますが、外部からは接続できません。sshd_config他のUbuntu 12.04マシン(別のLANにある)と同じファイルを使用しています。

$ ssh 192.168.0.2

正常に動作しますが、

$ ssh 65.76.97.222

(IPアドレスを構成)は機能しません。何も起こりません。エラーメッセージなどはありません。プロンプトはただそこにあります。

以下のコメントのおかげで、ウェブサイトcanyouseeme.orgShieldsUPを通じて、ポート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台だけです。ここから先に進む方法のアイデアはありますか?


verboseオプションを使用してみてください(-v-vv、に-vvv)余分な情報再取得する:接続を。例えば、ssh -vvv -p 51555 65.76.97.222
amc 14


ありがとうございます。あなたのコメントを反映するように質問を編集しました。
DustByte 2014

回答:


3

あなたがチェックするためのいくつかのこと。

  1. チェックし/etc/ssh/sshd_config、あなたがどんな面白い持っていないことを確認してくださいAllowUsersエントリを。

  2. 接続するユーザーを次のように指定します。

    ssh USER@SERVER
    ssh SERVER -lUSER
    
  3. ファイアウォールを確認してください(iptables):

    sudo iptables -L --line-numbers
    sudo iptables -L -t nat --line-numbers
    

2

SSHサーバーのゲートウェイがポート転送を行うルーターに設定されていることを確認します。

route -n

デフォルトルートはそのルーターを指し示す必要があります。そうでない場合は、ルーターを介して接続を開始できますが、ACKはどこにも行きません。


1

ポート転送が正しく機能していることを確認する必要があります。通常は、https://www.grc.com/shieldsup > Proceed>ボックスにポート番号を入力し、ユーザー指定のカスタムポートプローブをクリックして確認します。そのTCPポートが実際に公開されているかどうかがわかります


ありがとう。私はあなたの提案を反映するために私の質問を編集しました。問題はまだ残っています。
DustByte

ええと、ネットワークは除外されているため、構成の問題のように見えます。試してみてくださいgrep sshd /var/log/auth.log
meccooll

次の行は、その後に追加されますauth.logJul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
DustByte

1

ユーザーを宣言していますか?

ssh Jimmy@65.76.97.222 -p51555

あなたがコードをあなたがそれを使用している方法で与えたなら、私はそれが現在のユーザー名にデフォルトになると信じています。

さらに、TARGETシステムに権限を持つユーザーが必要です。上記の例では「ジミー」


確かに。私は常に同じユーザーとのみ接続しており、さらに、sshd_configすべてのユーザーが接続できるようにしています。
DustByte 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.