协助同事定位一个访问git问题。
报错 stderr: remote: Invalid username or password.
首先我检查一个pub和privatekey,发现里面的key是用root生成的。
而jenkins默认访问进行服务器鉴权时候是用jenkins用户的。所以要用jenkins生产SSH-Pairs。
一些命令:
查看当前用户
whoami 或者 echo $USER
发现用su 命令无法切换到jenkins用户
用 less /etc/passwd 看到jenkins用户是 /bin/false
所有用下面命令,切换到jenkins用户下面
su -s /bin/bash jenkins
然后重新生产Key:
ssh-gen -t rsa
然后把id_rsa.pub配置到private respository的deploy key上面
把id_ras内容配置到jenkins的credentials上面,采用username with private key配置。
username请输入jenkins, private可用直接拷贝输入进去。
最后在jenkins 上面执行
git -c core.askpass=true ls-remote -h git@github.com:xxxxx/xx.git HEAD
用自己git respository代替xx
如果运行正常说明已经OK