我使用gitosis來託管我的家庭服務器上的git存儲庫。不同的鍵推入git存儲庫
我已經設置它接受三個SSH密鑰:我的主密碼(無密碼),具有讀/寫訪問權限,我的密碼之一(我更喜歡將其放在其他人擁有根的服務器上)寫入權限,以及只有讀權限的第三個密鑰。
這個想法是,在遠程主機上(我不擁有它,所以別人有它的根),我可以有我的密碼私鑰和第三個(只讀)鍵,然後在該機器上我可以在沒有密碼的情況下拉動並使用密碼鍵推回。
Gitosis很好,它會接受任何具有正確權限的密鑰。但是當我使用這兩個鍵時,我無法按照自己想要的方式工作。我指着他們在我的SSH配置 - 在〜/ .ssh/config中的遠程主機上我有以下幾點:
Host *
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_rsa.passphrase
當我拉或克隆這只是罰款 - 操作不提示完成我輸入密碼。但是當我推動時,我收到一條消息,說我沒有權限。它顯然只嘗試了第一個密鑰文件。
如果我交換兩個IdentityFile
行,我會提示輸入密碼,無論我是推還是拉。所以它仍然只是嘗試第一個密鑰文件。
有沒有辦法獲得我想要的行爲 - 也就是說,在執行推式和其他寫操作時使用一個密鑰文件,而在執行只讀操作時使用其中一個密鑰文件?
太晚了切換到Gitolite?我強烈推薦它。 – Nic