オプションを使用したくありませんが、-o StrictHostKeyChecking=no
サーバーの公開鍵をファイルに保存し、IPアドレスまたはポートが変更されても、すべての接続でそれを使用したいと思います。
このオプションを使用すると、-o UserKnownHostsFile=myfile
異なるIPを介して同じシステムに接続すると、sshは引き続き認証を要求します。
ssh
公開鍵を別の場所に保存し、現在の接続でその公開鍵を使用する方法を教えてください。使用例:
# there is no 'foo-public.key' file at this moment
ssh -o TheMagicalOption=foo-public.key [email protected] -p 1234
The authenticity of host 'xxxxxxxx' can't be established.
ECDSA key fingerprint is SHA256:LR5wDKrEmHD0QhRcAmxTxBnzWIRmNUfJyeawhKw+W38.
Are you sure you want to continue connecting (yes/no)? [YES]
# 'foo-public.key' is created at this point
on-target $ exit
# another port forward is made, so the same server is on port 5678
ssh -o TheMagicalOption=foo-public.key [email protected] -p 5678
# not asking the same verification question
on-target $
ベストアンサー1
あなたはそれを使用することができます
ssh -o StrictHostKeyChecking=ask \
-o HashKnownHosts=no \
-o CheckHostIP=no \
-o UserKnownHostsFile=example_fp \
-p 1234 [email protected]
鍵を入手してください。
HashKnownHosts=no
ホスト名がプレーンテキストで保存されていることを確認してください。CheckHostIP=no
名前でホストを識別するためにのみ使用されます。
結果はexample_fp
次から始まる行になります。
[example.com]:1234 ecdsa-sha2-nistp521 AAAA...
最初の接続で標準ポート22を使用すると、次の内容が表示されます。
example.com ecdsa-sha2-nistp521 AAAA...
そのため、最初に接続するときにポート22を使用するか、後でファイルを編集してポート番号を削除してください。次回接続すると、この行はすべてのポート番号と一致します。