Mac 配置 gitlab ssh 流程及 Permission denied的解决办法

第一步

  1. 打开 mac terminal(终端)
    输入: cd ~/.ssh/
  2. 进入到 .ssh 文件夹后
    输入: ls -l (查看已知的文件列表)

第二步

  1. 输入: ssh-keygen -t rsa -C "xxxx@email.com"
  2. 出现第一个回车的地方: **Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa) ** , 此处让你输入保存的文件名称,最好用 id_rsa_xxx 进行保存, 以区别其他的。
  3. 然后接下来两个回车是让你 输入密码、确认密码,此处不设置,直接回车操作即可。

第三步

  1. 输入: ls -l 查看文件列表,此时会发现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 git@code.xxxxxx.com
    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 git@code.xxxxxx.com 命令,会看到 Welcome to GitLab, xxxxxx ,此时恭喜你,已经配置成功了。
  2. 如果看到 Permission denied ,那么表示没有成功。 那么输入: ssh -Tv git@code.xxxxxx.com 查看打印调试信息。依错误提示进行操作。

常见的异常情况

  1. 找不到密码,或者密码错误。
    git@gitlab.xxxxxxx.com’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 git@code.xxxxx.com:xxxx/xxxxx.git 设置连接远程仓库的方式为 SSH 方式。然后再操作 git pull 等即可正常操作。
发布了24 篇原创文章 · 获赞 31 · 访问量 11万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览