
Ubuntu Server 14.04 を使用して、ポート 2222 で ssh サーバーを実行しました (構築時にそのように求められました)。すでにセットアップ全体を確認しましたが、何も問題がないようです。
設定されている内容は次のとおりです。
- 建物内で、ポート 2222 の TCP 接続が私の IP にリダイレクトされます。
- アクセスできるポート 80 についても同様です。
- ポート2222でSSH接続を試みると、次の方法でネットワークの着信アクティビティを確認できます。
iftop
。 私は
ufw
適切なルールに従って実行する:2222/TCP ALLOW Anywhere
で
sshd.conf
入手したファイル:ポート 2222 でリッスンしている SSH サーバーを取得しました。
- 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
同じネットワーク上のホストからログインしようとすると、同じことが起こります。
ランニングnetstat
サーバーのsudo netstat -tulpn | grep ssh
出力は次のようになります:
tcp 0 0 127.0.0.1:2222 0.0.0.0:* LISTEN 969/sshd
ランニングnmap
ネットワーク外部からのパブリック IP に対しては、次の出力が行われます。
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
何が失敗しているのでしょうか?
答え1
そのnetstat
出力とsshd
設定ファイル(特にこの行) SSH デーモンはローカルのみの IP アドレス (127.0.0.1) をリッスンしており、実際に LAN と通信したり、ネットワーク上のルーター/ゲートウェイ デバイス経由で送信したりする IP ではありません。
sshd_config
に、サーバーに割り当てられたプライベート LAN IP アドレスなど、LAN 上の行が設定されていることを確認しますListenAddress
。ない場合は、 または などの構文を使用して、ポート ディレクティブの後に追加しListenAddress 0.0.0.0
、ListenAddress ::
これらの項目を実際の IPv4 または IPv6 アドレスに置き換えます。
また、127.0.0.0/8 内の任意の IP アドレスへのバインドは、ローカル コンピューター自体にのみ適用され、LAN、ローカル ネットワーク、またはその他の場所に実際にルーティングできるアドレスには適用されないことに注意してください。