配置ssh keys連通github跟ssh-agent
來自部落格:https://www.cnblogs.com/zanjiahaoge666/p/6407224.html
感謝博主的分享.
jenkins+github配置完成後,能夠實現在提交pull request或者直接push時,能夠將提交的程式碼拉去一份到伺服器本地,並自動merge;但是程式碼拉去下來了,部署環境的時候卻需要輸入登入伺服器的登陸名跟密碼;jenkins部署都是自動完成的,萬一每次都需要輸入使用者名稱跟密碼後,才能操作伺服器上的程式碼進行環境部署,那就太不自動化了;所以需要配置ssh-key讓git到伺服器切換自如,不用再驗證身份;
github官網給的配置的文章連結:
關於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了;