SSH連接gitlab省去了每次push工程時輸入賬號密碼的流程,具體操作過程可概括爲以下幾步——1.生成本地主機的SSH密鑰;2.在gitlab遠程服務器上添加SSH公鑰;3.測試連接是否成功。
1.生成本地主機的SSH祕鑰。
進行git的基本配置
$ git config --global user.name "user.name" # 設定用戶名
$ git config --global user.email "user.email" # 設定郵箱
生成本地主機的SSH祕鑰(爲簡單起見,輸入命令後直接三個回車,不設定密碼)。
ssh-keygen -t rsa -C “user.email” # 生成祕鑰
執行命令後在用戶目錄下會生成一個.ssh的目錄,其中有公鑰和私鑰。
2.在gitlab遠程服務器上添加SSH公鑰。
輸入以下命令打開公鑰,將內容複製進遠程服務器保存公鑰的地方,保存之,如下圖所示。
sudo gedit xxx.pub
3.測試連接是否成功。
輸入以下命令測試是否能成功連接。
ssh [email protected]
應該不會那麼順利而出現下圖情況。
輸入以下命令可以解決該問題。
eval "$(ssh-agent -s)"
ssh-add
可以將gitlab主機加入known_hosts中,輸入如下命令實現。
ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts
再試一次,輸入如下命令。
ssh [email protected]
成功!