第一步
- 打開 mac terminal(終端)
輸入: cd ~/.ssh/ - 進入到 .ssh 文件夾後
輸入: ll (查看已知的文件列表)
第二步
- 輸入: ssh-keygen -t rsa -C "[email protected]"
- 出現第一個回車的地方: **Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa) ** , 此處讓你輸入保存的文件名稱,最好用 id_rsa_xxx 進行保存, 以區別其他的。
- 然後接下來兩個回車是讓你 輸入密碼、確認密碼,此處不設置,直接回車操作即可。
第三步
- 輸入: ll 查看文件列表,此時會發現id_rsa_xxx 和 id_rsa_xxx.pub 文件。 那麼說明生成祕鑰成功了。
- 此時輸入: more id_rsa_xxx.pub 查看文件id_rsa_xxx.pub 的內容信息並複製。
- 打開 公司的 GitLab 在個人設置界面左側 找到 SSH Keys 添加進去保存即可。
第四步
- 此時在 .ssh 文件夾內 找到 config 文件. 如果沒有,請輸入: touch config 注意沒有後綴名。
- 配置 config 文件參數如下:
Host : Host可以看作是一個你要識別的模式,對識別的模式,進行配置對應的的主機名和ssh文件
HostName : 要登錄主機的主機名
User : 登錄名
IdentityFile : 指明上面User對應的identityFile路徑
參考筆者:
Host [email protected]
HostName https://code.xxxxxx.com
User git
IdentityFile ~/.ssh/id_rsa_xxx - 此時輸入: source config 使config 文件立即生效,而不必註銷並重新登錄。
第五步
- 在 .ssh 文件夾內 找到 known_hosts 文件,如果沒有,請輸入: touch known_hosts 注意沒有後綴名。
第六步
- 輸入: sudo ssh-add id_rsa_xxx 讓新創建的祕鑰加入到 ssh-agent高速緩存中。
第七步
- 輸入: ssh -T [email protected] 命令,會看到
Welcome to GitLab, xxxxxx
,此時恭喜你,已經配置成功了。 - 如果看到
Permission denied
,那麼表示沒有成功。 那麼輸入: ssh -Tv [email protected] 查看打印調試信息。依錯誤提示進行操作。
常見的異常情況
- 找不到密碼,或者密碼錯誤。
[email protected]’s password: Permission denied, please try again.
重走上面的流程,設置密碼等等。 - 重新走第四步、第六步。 尤其是第六步很關鍵。筆者就是這麼解決的。
配置成功後依然需要輸入密碼
- 部分同學在配置成功後,依然需要輸入密碼才能 使用 git pull 等操作。
git pull
Username for ‘https://code.xxxxxx.com’:
Password for ‘https://code.xxxxxx.com’:
此時,輸入命令: git remote -v 查看當前倉庫的遠程連接url 地址,如果發現是 :
origin https://code.xxxxxx.com/xxx/xxxx.git (fetch)
origin https://code.xxxxxx.com/xxx/xxxx.git (push)
- 此時需要修改遠程的連接方式,輸入: git remote set-url origin [email protected]:xxxx/xxxxx.git 設置連接遠程倉庫的方式爲 SSH 方式。然後再操作 git pull 等即可正常操作。