這時候可以使用 GIT_SSH 這個環境變數搭配自訂的腳本來做:
- 先新增一個 custom_ssh.sh:
#!/bin/sh exec /usr/bin/ssh -o StrictHostKeyChecking=no -i /home/me/my_private_key "$@"
- 在使用 git 的時候,提供 GIT_SSH 環境變數
,這樣就可以了。GIT_SSH="custom_ssh.sh" git clone your_repository
誰有用到 GIT_SSH ?
- Jenkins 裡可以新增 SSH key ,讓你在存取 repository 時,使用這把 SSH key。實際上 Jenkins 內部也是利用 GIT_SSH 的方法在運作,但並不是全部。
- Ansible 的 git module 也使用了 GIT_SSH 這個技巧 (應該是)。
產生獨立 SSH Key 的方法:
ssh-keygen -C your_comment -b 4096 -m pem -f key_filename -q -P "" -N ""
執行上面的指令後,會產生兩個檔案,一個是公鑰,一個是私鑰。在要複製到別的地方使用時,要注意 permission 必須是 0600,僅允許擁有者存取才行。參考自:Git clone with custom SSH using GIT_SSH error - Stack Overflow
沒有留言:
張貼留言