Technic

GitLab添加公钥后仍然需要输入密码的解决

2018-06-20

背景信息

现在在Cluster上和实验室的GPU上分别跑实验,由于代码管理的问题,把cluster上的代码设置为项目的一个分支,比如叫做Project_Cluster。设想的架构如下:

  • 本地Windows PC
    • 通过PyCharm写代码并调用实验室Server的GPU
    • 修改代码并用Git上传到实验室server
    • 必要时把cluster分支的代码合并进来
  • 实验室Server
    • 跑实验
    • 同时也是GitLab的server
  • 楼下Cluster
    • 通过Putty和SCP登陆
    • 修改项目的Project_Cluster分支并上传到实验室server

 

解决方法

我在Cluster上生成了密钥并把公钥添加到GitLab账户之后依然每次pull时需要输入密码,看了网上有很多帖子在讲这个问题,解决的方法也五花八门,但是最终下边这个方法帮我成功解决了。

主要原因: 需要进行git config设置。

解决方法:

设置git config并保存你的GitLab用户名、邮箱及密码

git config --global user.name  "your user name"
git config --global user.email "your email"

验证成功后需要输入GitLab的密码(这就是需要解决的问题)。

我们先输入正确的密码,

接下来可以临时缓存密码:

git config --global credential.helper cache

或者一直保存密码(我用的下边这个):

git config credential.helper store

之后再pull就没有管我要密码了:

 

 

其他可能原因及解决

IP地址不在同一个网段

服务器端权限设置

生成密钥时设置了密码

 

补充一下怎么生成和添加密钥

terminal里输入

ssh-keygen -t rsa -C "your email"
之后到~/.ssh文件夹下打开id_rsa.pub文件并把内容复制并添加到GitLab的SSH Keys中(如下图)

参考资料

Leave a Reply

Your email address will not be published. Required fields are marked *