over 7 years ago

BitBucket 支援兩種協定 : sshhttps。兩種協定各有優缺點, https 協定的好處是不用多做設定,但是每次 push 時都要輸入密碼。如果不想每次操作都要輸入密碼,可以選用 ssh 協定,但是第一次使用時,需要做一些設定。


ssh-keygen 產生公鑰和私鑰

首先,我們要先利用工具產生一組公私鑰,並把公鑰內容上傳至 Bitucket 網站,作為後續連線認證使用。Windows 環境下,可使用 PuTTY 這套工具,Mac OS 中,則可直接使用 ssh-keygen 指令產生公私鑰。

ssh-keygen
  • 輸入 ssh-keygen後,會詢問儲存路徑,預設路徑為 ~/.ssh/id_rsa,我們也可以自行輸入,例如 : ~/.ssh/id_rsa_test

  • 下一步則會要求輸入密碼,也可留空,但是一般不太建議這樣做,為了安全性,最好還是輸入一組密碼。

  • 完成後, ~/.ssh/ 目錄下會生成兩個檔案 : id_rsa_testid_rsa_test.pub。其中 id_rsa_test 是私鑰, id_rsa_test.pub 則是公鑰。


ssh-add

輸入 ssh-add 指令及上個步驟中的密碼,加入新的公私鑰。

ssh-add ~/.ssh/id_rsa_test


將公鑰內容上傳 BitBucket 網站

  • 將公鑰內容複製到剪貼簿

    pbcopy < ~/.ssh/id_rsa_test.pub
    
  • 到個人設定的 SSH keys 頁面中,按下 Add key 按鈕

  • 新增公鑰

    • Label : 顯示名稱,無特別限制。
    • Key : 將剪貼簿中的公鑰內容貼上。


上傳程式碼

  • Add remote repository

    git remote add origin git@bitbucket.org:yourusername/test.git
    
  • Push

    git push origin --all
    

    第一次 push 會出現以下訊息

    The authenticity of host 'bitbucket.org' can't be established.
    Are you sure you want to continue connecting (yes/no)? 
    

    選擇 yes,會將 bitbucket 的資訊加入 ~/.ssh/known_hosts 檔案中,接下來就可以順利上傳囉。

← [Git] 取消 git add 指令加到暫存區的檔案 [Android 開發] 不讓螢幕休眠的方式 →
 
comments powered by Disqus