Git
如何使用 ssh-agent 抑制主機密鑰檢查
我有一個帶有這個片段的腳本:
ssh-agent bash -c "ssh-add $SOME_KEY; \ git submodule update --init foo"
腳本在詢問使用者時掛起:
RSA 密鑰指紋為 SHA256:
$$ the fingerprint $$ 您確定要繼續連接(是/否)?
如何使腳本繼續(是)?
- 我知道我可以呼叫
ssh -o StrictHostKeyChecking=no
來禁用它,但我呼叫的是git
notssh
。- 我知道我可以配置
~/.ssh/config
為禁用對該主機的嚴格密鑰檢查——但我不想修改使用者的系統。- 我知道我可以
chmod 000 ~/.ssh/known_hosts
禁用該使用者的密鑰檢查,但我不想修改使用者的系統yes |
我以為我可以在前面插入,git
但它似乎不起作用。
從 Stack Overflow,通過muru,將 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
, 並由 shell 解釋,允許包含其他參數。 > > >