如何指定在Git上執行shell命令時使用的私有SSH密鑰?也許是一個相當不尋常的情況,但我想指定一個私有SSH密鑰,以便在從本地計算機執行shell(git)命令時使用。基本上是這樣的:git clone [email protected]:TheUser/TheProject.git -key "/home/christoffer/ssh_keys/theuser"甚至更好(在Ruby中):with_key("/home/christoffer/ssh_keys/theuser") do
sh("git clone [email protected]:TheUser/TheProject.git")end我見過使用Net :: SSH連接到遠程服務器的示例,它使用指定的私鑰,但這是一個本地命令。可能嗎?
3 回答

縹緲止盈
TA貢獻2041條經驗 獲得超4個贊
這樣的東西應該工作(由orip建議):
ssh-agent bash -c 'ssh-add /somewhere/yourkey; git clone [email protected]:user/project.git'
如果您更喜歡子殼,您可以嘗試以下(雖然它更脆弱):
ssh-agent $(ssh-add /somewhere/yourkey; git clone [email protected]:user/project.git)
Git將調用SSH,它將通過環境變量找到它的代理; 反過來,這將加載密鑰。
另外,設置HOME
也可以做的伎倆,只要你愿意建立一個僅包含一個目錄.ssh
的目錄HOME
; 這可能包含identity.pub或配置文件設置IdentityFile。
- 3 回答
- 0 關注
- 2296 瀏覽
添加回答
舉報
0/150
提交
取消