known_hosts コマンドラインにアドレスを追加する

known_hosts コマンドラインにアドレスを追加する

コマンドラインから known_hosts に IP を追加する際に問題が発生しています。 sftp を使用して別のサーバーにファイルをアップロードする mysql バックアップ スクリプトがあります。 スクリプトは正常に動作しますが、known_hosts に IP を追加するには、sftp コマンドを手動で 1 回実行する必要があります。そうしないと、スクリプトが失敗します。

スクリプトは移植可能である必要があるため、サーバーにドロップするとすべてが自動的に実行されます。ユーザーが最初に sftp を使用して手動で接続する必要はありません。

以下を使用して IP を追加しようとしました:

ssh-keygen -R [receiver IP]
ssh-keyscan -H [receiver IP] >> ~/.ssh/known_hosts

しかし、次のエラーが発生します:

ssh-keygen: /root/.ssh/known_hosts: そのようなファイルまたはディレクトリはありません

known_hosts ファイルを作成するには touch を追加するだけでよいのでしょうか、それとも何をするのが最善でしょうか?

答え1

どのサーバーにも移植可能でなければならないので、追加するのが最善の選択だと思います厳密なホストキーチェック=いいえssh コマンドに次のように追加します:

ssh -o StrictHostKeyChecking=no [backupuser]@[backupserver]

次のように、このオプションを sshd 設定ファイルにグローバルに追加することもできます。

StrictHostKeyChecking No

関連情報