Solaris 10/11の「ssh-keyscan -H」と同じ

Solaris 10/11の「ssh-keyscan -H」と同じ

ルートのKnown_hostsファイルに指定されたホストを追加するPerlプログラムを作成しています。このプログラムはAIXとLinuxで実行されますが、Solarisでは実行されません。残念ながら、それに対応するコマンドが見つかりません。

サンプルライン:

system("ssh-keyscan -H www.myserver.domain >> /.ssh/known_hosts");

出力:

ssh-keyscan:無効なオプション--H使用法:ssh-keyscan [-v46] [-pポート] [-Tタイムアウト] [-fファイル] [ホスト|ポート] アドレス一覧] [...]

アップデート1:

次のコマンドを試しましたが、依然として真偽かどうかを尋ねます。

system("ssh-keyscan -t rsa www.myserver.domain >> /.ssh/known_hosts");

アップデート2: Perl外部出力:

# ssh-keyscan -t rsa www.myserver.domain >> /.ssh/test123.text 
# www.myserver.domain SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3  
# less test123.text
# www.myserver.domain ssh-rsa KEY  
# ssh www.myserver.domain
# The authenticity of host 'www.myserver.domain (IP)' can't be established. RSA key fingerprint is FINGERPRINT. Are you sure you want to continue connecting (yes/no)?

答え1

Solaris 10/11のssh-keyscanのマニュアルページを見ると、このスイッチはサポートされていないようです。

引用:ssh-keyscan のマニュアルページ
ssh-keyscan [-v46] [-p port] [-T timeout] [-t type] 
     [-f file] [-] [host... | addrlist namelist] [...]

ssh-keyscan <hostname>キーを検索してファイルに書き込むことができると思います~/.ssh/known_hosts。この方法はまだ機能しますが、次のようにホストが使用するすべての名前を1行に表示するわけではありません。

hostname1, hostname1.fqdn.com .....

したがって、生成されたファイルをいくつかのクリーンアップする必要があるかもしれませんknown_hosts

ホストの真正性

ファイルにまだ存在しないホストをスキャンできないcatch 22と同じ状況が発生した場合known_hosts

ホスト「www.myserver.domain(IP)」の信頼性を確認できません。 RSAキー指紋はFINGERPRINTです。引き続き接続しますか(Y/N)?

次を一時的に無効にすることでこの問題を解決できますStrictHostKeyChecking

$ cat ~/.ssh/config
...
StrictHostKeyChecking no
...

その後、コマンドを再実行してくださいkeyscan <host> ...。完了したらStrictHostKeyCheckingから削除する必要があります~/.ssh/config

引用する

関連情報