Git

如何使用 ssh-agent 抑制主機密鑰檢查

  • September 16, 2018

我有一個帶有這個片段的腳本:

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

腳本在詢問使用者時掛起:

RSA 密鑰指紋為 SHA256:

$$ the fingerprint $$ 您確定要繼續連接(是/否)?

如何使腳本繼續(是)?


  • 我知道我可以呼叫ssh -o StrictHostKeyChecking=no來禁用它,但我呼叫的是gitnot ssh
  • 我知道我可以配置~/.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 解釋,允許包含其他參數。 > > >

引用自:https://unix.stackexchange.com/questions/469307