ssh-agentを使用してホストキーの検証を抑制する方法

ssh-agentを使用してホストキーの検証を抑制する方法

次のコードスニペットを含むスクリプトがあります。

ssh-agent bash -c "ssh-add $SOME_KEY; \
                   git submodule update --init foo"

ユーザーに以下を要求すると、スクリプトは中断されます。

RSAキー指紋はSHA256:[fingerprint]です。

引き続き接続しますか(Y/N)?

スクリプトを続行するにはどうすればよいですか?


  • ssh -o StrictHostKeyChecking=no電話をかけて無効にできることを知っていますが、電話をかけませgitssh

  • そのホストに対して厳密なキーチェックを無効にするように設定できることはわかっていますが、~/.ssh/configシステムを変更したくありません。

  • そのユーザーのキーチェックを無効にできることはわかっていますが、chmod 000 ~/.ssh/known_hostsユーザーシステムを変更したくありません。

  • yes |前部分を挿入できると思ったのですがgit、ダメなようです。

答え1

スタックオーバーフローでは、ムルSSHオプションをgit cloneに渡す:

最近リリースされたgit 2.3は、パラメータとしてコマンドを定義するために使用できる新しい変数「GIT_SSH_COMMAND」をサポートしています。

GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" git clone user@host

$GIT_SSH_COMMANDより優先順位が高く、$GIT_SSHシェルによって解釈され、他の引数が許可されます。

関連情報