問題描述
由于TortoiseGit沒有MAC版本,我們使用了SourceTree來替代.
在幫同事解決Mac下的Git的時候,碰到一個問題:SourceTree無法使用ssh方式提交代碼,這是由于沒有把公鑰對應的私鑰提交到ssh,遠程服務器端無法通過ssh的密鑰驗證.
解決步驟
Step1:在用戶目錄下創建.ssh文件夾
Step2:生成公鑰和私鑰
命令:ssh-keygen -t rsa
Step3:創建cofig文件(任意名稱),存放以下內容
Host mygit
HostName host
Port 22
User git
IdentityFile ~/.ssh/private.key -----前面生成的私鑰
Step4:將私鑰加入ssh
執行下圖的兩條命令.
export PATH=/user/bin:$PATH
ssh-add -k ~/.ssh/id_rsa
Enter passphrase for /Users/dongjunlong/.ssh/id_rsa:
Identity added: /Users/dongjunlong/.ssh/id_rsa (/Users/dongjunlong/.ssh/id_rsa)
dongjunlongs-Mac-mini:~ dongjunlong$
第一條:將當前的環境變量設置成user/bin,進入/user/bin目錄.
第二條:將密鑰加到ssh中.
第三條:提示成功
注意:不要使用ssh-add ~/.ssh/private.key