「フィルタリングされた」ポートで「開く」方法

「フィルタリングされた」ポートで「開く」方法

私は実行しています:

$ ssh user@ip_address

そして長い間何の反応もなく待ちました。私のポートの状態を確認しようとしています。

$ a=`nmap ip_address -PN -p ssh | grep filtered`
$ echo $a      
22/tcp filtered ssh

では、フィルタがあることを確認しますか?このフィルタをどのように削除できますか?

当時確認してみると次のようになります。

$ netstat -tln 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address                   State      
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN   

そして:

$ ps -ef | grep 'ssh[d]'
root      1017     1  0 10:58 ?        00:00:00 /usr/sbin/sshd -D

Ubuntuのインストールは「生」なので、私のシステムにファイアウォール関連の問題があると思われます。間違っていたら訂正してください。

ポートを安全に開く方法についてのアイデアはありますか?このコンピュータの外部でSSH接続を有効にする必要があります。

ベストアンサー1

ファイアウォールでポートを開きます(今はフィルタリングがあるとします)。サーバー(必要なマシンssh)で次のことを試してください。

sudo ufw allow 22/tcp

シェルからエラーメッセージをここに投稿してください。

また、出力を投稿してください

sudo netstat -tlpn

特にファイアウォールコマンドが機能しない場合は、これを確認できますsshd

netstat上記のコマンド(新しいiproute2ツール)が見つからない場合は、回避策を試してください。

sudo ss -tlpn

出力の読みやすさは低下しますが、ポート22で「LISTEN」を実行するプロセスは引き続きnetstat表示されるはずです。sshd

おすすめ記事