1. 程式人生 > >配置ssh keys連通github跟ssh-agent

配置ssh keys連通github跟ssh-agent

來自部落格:https://www.cnblogs.com/zanjiahaoge666/p/6407224.html

感謝博主的分享.

  jenkins+github配置完成後,能夠實現在提交pull request或者直接push時,能夠將提交的程式碼拉去一份到伺服器本地,並自動merge;但是程式碼拉去下來了,部署環境的時候卻需要輸入登入伺服器的登陸名跟密碼;jenkins部署都是自動完成的,萬一每次都需要輸入使用者名稱跟密碼後,才能操作伺服器上的程式碼進行環境部署,那就太不自動化了;所以需要配置ssh-key讓git到伺服器切換自如,不用再驗證身份;

  github官網給的配置的文章連結:

https://help.github.com/articles/connecting-to-github-with-ssh/

 

關於ssh:

  使用SSH協議,您可以連線和驗證遠端伺服器和服務。 使用SSH金鑰,您可以連線到GitHub,而無需在每次訪問時提供您的使用者名稱或密碼。

 

驗證是否已經存在ssh keys:

  在你建立一個新的ssh key之前,需要先確認你的伺服器系統中是否已經存在了SSH Keys;

  1、開啟伺服器連線終端;

  2、輸入如下命令確定是否已經存在ssh keys:

    ls -al ~/ .ssh

  看下返回的結果中是否已經存在了.pub結尾的檔案,如果沒有需要生成一個新的,如果存在了,直接看將ssh keys配置到github account;

  

生成新的ssh keys:

  1、在伺服器終端命令列中,輸入:

    ssh-keygen -t rsa -b 4096 -C "[email protected]"

  其中,"[email protected]"是你的github關聯的郵箱;

  2、當你看到如下提示,直接回車,接受給定的預設檔案路徑:

  

  3、回車後,會看到如下提示,需要你輸入一個字串,用來作為你的ssh keys的密碼,需要輸兩遍喲;

  

  此時,應該在預設路徑下,生成了兩個檔案,一個是id_rsa,另一個是id_rsa.pub;

  4、將SSH Key新增到ssh-agent,執行命令:

    eval $(ssh-agent -s)

  返回agent的Pid:

  

  執行命令:

    ssh-add ~/.ssh/id_rsa

  

  提示輸入passphrase,輸入passphrase後(建議直接回車,不用密碼),提示新增成功; 

 

將ssh keys配置到github account:

  1、開啟生成的id_rsa.pub檔案,複製檔案內容;

  2、開啟github主頁,點選你的頭像,下拉框中選擇SettingsS;

  3、選擇SSH and GPG keys;

  

  4、點選New SSH Key,如果本來就有存在,則點選Add SSH Key;

  5、在Title中輸入這個SSH Key的標題,用來區分不同的SSH Key;將複製的id_rsa.pub檔案的內容,黏貼到Key中;

  6、點選Add SSH Key,跳轉的頁面輸入github的登陸密碼;

 

驗證ssh連線:

  1、伺服器系統命令列輸入如下命令:

    ssh -T [email protected]

  你會看到:

  

  或者

  

  2、輸入yes回車,你會看到:

  

 

  這樣你的金鑰就設定好了,試一下拉取程式碼並部署環境是不是很666了;