私は標準を得ています
WARNING: REMOTE Host IDENTIFICATION HAS CHANGED!
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA Host key has just been changed.
The fingerprint for the RSA key sent by the remote Host is
エラーメッセージ。ただし、コマンドを実行するシステム(Appworx)(sftp、それは問題ではないと思います)は自動化されており、サードパーティベンダーに有効な変更であることを確認した後でも、新しいキーを簡単に受け入れることはできません。同じシステム(およびユーザー)から実行できる新しいシェルスクリプトを追加できますが、キーを受け入れるようにsshに指示するコマンドまたはコマンドライン引数がないようです。 manページまたはGoogleで何も見つかりません。確かにこれは可能ですか?
ここでの答えはひどいアドバイスです。実際のシステムではStrictHostKeyCheckingをオフにしないでください(たとえば、自分のローカルホームネットワークでプレイしているだけでも大丈夫かもしれませんが、他のことはしないでください)。
代わりに使用します:
ssh-keygen -R hostname
強制的にknown_hosts
ファイルを更新して、そのキーを更新した1つのサーバーのみの古いキーを削除します。
次に使用する場合:
ssh user@hostname
指紋を確認するように求められます-他の「新しい」(つまり、これまで見えなかった)サーバーの場合と同様です。
Ssh-ingを実行しているホストでbashスクリプトを実行してこれを自動化しようとしているため、次のことを想定しています。
known_hosts
に追加し、known_hosts
をそのままにしておきます。Bashスクリプトでこれを試してください:
# Remove old key
ssh-keygen -R $target_Host
# Add the new key
ssh-keyscan $target_Host >> ~/.ssh/known_hosts
次のファイルを追加
~/.ssh/config
そしてこれはコンテンツとしてファイルに
StrictHostKeyChecking no
この設定により、sshが再度指紋チェックを要求しないようになります。