Mac 配置 gitlab ssh 流程及 Permission denied的解決辦法

第一步

  1. 打開 mac terminal(終端)
    輸入: cd ~/.ssh/
  2. 進入到 .ssh 文件夾後
    輸入: ll (查看已知的文件列表)

第二步

  1. 輸入: ssh-keygen -t rsa -C "[email protected]"
  2. 出現第一個回車的地方: **Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa) ** , 此處讓你輸入保存的文件名稱,最好用 id_rsa_xxx 進行保存, 以區別其他的。
  3. 然後接下來兩個回車是讓你 輸入密碼、確認密碼,此處不設置,直接回車操作即可。

第三步

  1. 輸入: ll 查看文件列表,此時會發現id_rsa_xxx 和 id_rsa_xxx.pub 文件。 那麼說明生成祕鑰成功了。
  2. 此時輸入: more id_rsa_xxx.pub 查看文件id_rsa_xxx.pub 的內容信息並複製。
  3. 打開 公司的 GitLab 在個人設置界面左側 找到 SSH Keys 添加進去保存即可。

第四步

  1. 此時在 .ssh 文件夾內 找到 config 文件. 如果沒有,請輸入: touch config 注意沒有後綴名。
  2. 配置 config 文件參數如下:
    Host : Host可以看作是一個你要識別的模式,對識別的模式,進行配置對應的的主機名和ssh文件
    HostName : 要登錄主機的主機名
    User : 登錄名
    IdentityFile : 指明上面User對應的identityFile路徑
    參考筆者:
    Host [email protected]
    HostName https://code.xxxxxx.com
    User git
    IdentityFile ~/.ssh/id_rsa_xxx
  3. 此時輸入: source config 使config 文件立即生效,而不必註銷並重新登錄。

第五步

  1. 在 .ssh 文件夾內 找到 known_hosts 文件,如果沒有,請輸入: touch known_hosts 注意沒有後綴名。

第六步

  1. 輸入: sudo ssh-add id_rsa_xxx 讓新創建的祕鑰加入到 ssh-agent高速緩存中。

第七步

  1. 輸入: ssh -T [email protected] 命令,會看到 Welcome to GitLab, xxxxxx ,此時恭喜你,已經配置成功了。
  2. 如果看到 Permission denied ,那麼表示沒有成功。 那麼輸入: ssh -Tv [email protected] 查看打印調試信息。依錯誤提示進行操作。

常見的異常情況

  1. 找不到密碼,或者密碼錯誤。
    [email protected]’s password: Permission denied, please try again.
    重走上面的流程,設置密碼等等。
  2. 重新走第四步、第六步。 尤其是第六步很關鍵。筆者就是這麼解決的。

配置成功後依然需要輸入密碼

  1. 部分同學在配置成功後,依然需要輸入密碼才能 使用 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)
  2. 此時需要修改遠程的連接方式,輸入: git remote set-url origin [email protected]:xxxx/xxxxx.git 設置連接遠程倉庫的方式爲 SSH 方式。然後再操作 git pull 等即可正常操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章