SSHポートでnmapスキャンを実行すると、次の結果が表示されます。
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
SSH識別文字列を変更または非表示にできますか?
ベストアンサー1
この識別文字列は、SSHサービス自体から返すことができます。この試み:
echo "blah" | nc YOUR.SERVER.ADDRESS 22
これにより、次のような応答が得られます。
SSH-2.0-OpenSSH_8.6
Invalid SSH identification string.
残念ながら、これはバイナリに含まれる文字列ですsshd
。いくつかのオプションがあります。
- ディストリビューションからバージョン バナーを削除するために sshd パッケージの特定のコンパイル フラグが許可されていることを確認します。
- Debianなどの一部のディストリビューションでは、ファイル
DebianBanner no
で次のオプションを試すことができます。/etc/ssh/sshd_config
これはディストリビューションによって異なります。 - Hatchのソリューションです。返された文字列と一致する文字列を見つけるには、バイナリ
strings
に使用します。sshd
次に、現在のバイナリのバックアップを準備しますhexedit
。注意して、バックアップ計画があることを確認してください。
この識別文字列はプロトコルの一部なので、あまり操作しないでください。nc
文字列が正しい形式ではないため、変更された文字列を表示するにもかかわらず、クライアントは接続を拒否する可能性があります。http://www.openssh.com/txt/rfc4253.txt