web-dev-qa-db-ja.com

ssh接続が適切な設定全体で接続できないのはなぜですか?

Ubuntu Server 14.04を使用して、ポート2222でsshサーバーを実行しました(ビルド時にそのように尋ねられました)。私はすでにセットアップ全体をレビューしましたが、何も問題がないようです。

これが設定されているものです:

  • ビルド時に、ポート2222のTCP接続を私のIPにリダイレクトします。
  • 私が到達できるポート80についても同じことが言えます。
  • ポート2222でSSH経由で接続しようとすると、iftopを使用して着信ネットワークアクティビティを確認できます。
  • ufwを適切なルールで実行しました:

    2222/TCP ALLOW Anywhere

  • sshd.confファイルで取得したもの:

  • Sshサーバーがポート2222でリッスンするようにしました。

  • ロギング用にsshサーバーをAUTHモードに設定しましたが、接続しようとすると/var/log/auth.logに何も表示されません。
  • これは私のsshd.confファイルです
  • はい、sshデーモンが実行されており、再起動されました。

したがって、接続しようとすると、次のようなメッセージが表示されます。

ssh: connect to Host <publicbuildingip> port 2222: Connection refused

詳細モード出力でクライアントを実行すると、次のようになります。

debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to <publicip> [<publicip>] port 2222.
debug1: connect to address <publicip> port 2222: Connection refused
ssh: connect to Host <publicip> port 2222: Connection refused

また、同じネットワークのホストからログインしようとすると、同じことが起こります。

netstatSudo netstat -tulpn | grep ssh出力のようなサーバーで実行します:

tcp    0    0 127.0.0.1:2222    0.0.0.0:*    LISTEN    969/sshd

ネットワーク外部からのパブリックIPに対してnmapを実行すると、次のように出力されます。

Host is up (0.051s latency).
Not shown: 996 filtered ports
PORT     STATE  SERVICE
21/tcp   closed ftp
80/tcp   open   http
2222/tcp closed unknown
8080/tcp closed http-proxy

Nmap done: 1 IP address (1 Host up) scanned in 5.31 seconds

telnet <publicip>2222を試す

出力:

telnet: Unable to connect to remote Host: Connection refused

建物内のネットワークIPで試した場合も同様です。

しかし、サーバーで実行されたiftopは、ログインしようとしたときに実際にネットワークアクティビティがあることを示しています。

次のようなサーバーでtcpdumpを実行すると、tcpdump -vniay port 2222 -i eth0はログイン試行時にこれを出力します。

15:53:36.812402 IP (tos 0x0, ttl 64, id 56954, offset 0, flags [DF], proto TCP (6), length 60)
  192.168.1.86.39822 > 192.168.1.90.2222: Flags [S], cksum 0xa1b8 (correct), seq 3966921350, win 292000, options [mss 1460,sackOK,TS val 308476 ecr 0,nop,wscale 7], lenght 0

何が失敗しているのでしょうか?

3
diegoaguilar

そのnetstat出力とsshd構成ファイル(特に この行 )に基づいて、SSHデーモンはローカル専用IPアドレス(127.0.0.1)でリッスンしています。 、および実際にLANと通信したり、ネットワーク上のルーター/ゲートウェイデバイスを介して送信したりするIPではありません。

sshd_configが、サーバーに割り当てられたプライベートLAN IPアドレスなど、LANにあるListenAddress行を持つように設定されていることを確認します。ない場合は、portディレクティブの後にListenAddress 0.0.0.0ListenAddress ::などの構文で追加し、これらの項目を実際のIPv4またはIPv6アドレスに置き換えます。

また、127.0.0.0/8のIPアドレスへのバインドは、最終的にローカルコンピュータ自体でのみ行われ、実際にLAN /ローカルネットワーク/他の場所にルーティングできるアドレスではないことに注意してください。

3
Thomas Ward