コマンドラインから 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