最近才開始使用 source tree 搭 bitbucket 來做 version control,遇到的都是 SSH 認證的問題。首先是要在 bitbucket 的設定加入自己電腦的 SSH key,再來就是要在電腦入的 ssh 加入 bitbucket 的 identity。第一點比較易做就不作筆記了,第二點就有一點點不太易找到原因,所以就記錄一下。
如果在 push 的時候出現以下錯誤:
[email protected]: PERMISSION DENIED (PUBLICKEY).
就有可能是 local 電腦的 ssh 未有加入 bitbucket 的 identity 所致。先到 terminal 試試連線:
$ ssh -Tv [email protected]
如果出現 “Permission denied (publickey).”,再執行以下指令:
$ ssh-add -l
如果沒有像 “4096 SHA256:….. {your-user-name}-Bitbucket (RSA)” 這樣的字串,那就要加入那個 identity。加入前請先確定你已經 generate 了 SSH-key 以及有用 OAuth 連結 bitbucket 的帳戶。
在 ~/.ssh 資料夾內,應該會有一個檔案叫 “{your-user-name}-Bitbucket”,然後用以下指令加入該檔:
$ ssh-add {your-user-name}-Bitbucket
加入後再用“ssh-add -l”看看有沒有這個 identity,有就代表成功了。最後可以再執行“ssh -Tv [email protected]”看看能否連線,當然直接再 push 也可以啦。
0 Comments