
SSH ターミナルを開きたいのですが、ポート 22 で接続が拒否されます。nmap にポート 22 がリストされていません。どうすればサーバーに接続できますか?
PORT STATE SERVICE
21/tcp open ftp
25/tcp open smtp
80/tcp open http
4000/tcp filtered remoteanything
4001/tcp filtered newoak
4002/tcp filtered mlchat-proxy
これは hackertarget.com からのポートスキャンです:
PORT STATE SERVICE VERSION
21/tcp open ftp ProFTPD 1.3.1
22/tcp closed ssh
25/tcp open smtp Postfix smtpd
80/tcp open http lighttpd 1.4.29
110/tcp closed pop3
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp closed https
445/tcp closed microsoft-ds
1433/tcp closed ms-sql-s
3306/tcp closed mysql
8080/tcp closed http-proxy
sshd を閉じるにはどうすればよいですか?
答え1
接続が拒否され、Nmap がポートが閉じられていることを示している場合、接続できません。アクセスするための他の方法 (物理端末、仮想コンソールなど) がある場合は、次のコマンドのいずれかを使用して SSH デーモンが実行されているかどうかを確認できます (一部はシステムで使用できない場合があります)。
ps -f -C sshd
ps aux | grep sshd
sudo netstat -ptan | grep sshd
service ssh status
実行されていない場合は、起動する必要があります。これを行う一般的な方法は次のとおりです。
service ssh start
invoke-rc.d ssh start
/etc/init.d/ssh start
/usr/sbin/sshd
これらのコマンドにはすべて、root 権限 (例: sudo) が必要です。
デーモンが実行中であるにもかかわらず、接続できない場合は、ネットワーク デバイスまたはホストの iptables ファイアウォールが接続をブロックしている可能性があります。 で独自のルールを確認できますiptables -L
が、ファイアウォール マネージャーを使用している場合 (Ubuntu では UFW が人気です)、テーブルが読みにくい場合があるため、使用しているツールのユーザー インターフェイスを確認する必要があります (ufw status
など)。Nmap の出力にはフィルターされた (ファイアウォールで保護された) ポートがいくつか表示され、その中に 22/tcp は含まれていないため、ネットワーク デバイスがブロックしている可能性は低いです。
最後に、防御ツールやスクリプト(失敗2バンなど) は、ポリシーに違反したアドレス (ログイン試行の失敗回数が多すぎるなど) をブロックする可能性があるため、そのようなことについてはログを確認する必要があるかもしれません。
答え2
SSHサーバの状態をリモートで確認するには、nmap
$ nmap -v -nn serverip 22
ssh サーバーがダウンしていることが示された場合は、ssh サーバーへのローカル アクセスを取得して、次のようなコマンドを実行する必要があります。
$ /etc/init.d/ssh status
このshow sshサービスがダウンしている場合は、次のように起動する必要があります。
$ sudo /etc/init.d/ssh start
または
$ service ssh start