次のコードスニペットを含むスクリプトがあります。
ssh-agent bash -c "ssh-add $SOME_KEY; \
git submodule update --init foo"
ユーザーに以下を要求すると、スクリプトは中断されます。
RSAキー指紋はSHA256:[fingerprint]です。
引き続き接続しますか(Y/N)?
スクリプトを続行するにはどうすればよいですか?
ssh -o StrictHostKeyChecking=no
電話をかけて無効にできることを知っていますが、電話をかけませgit
んssh
。そのホストに対して厳密なキーチェックを無効にするように設定できることはわかっていますが、
~/.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
シェルによって解釈され、他の引数が許可されます。