Gitlab SSH密钥疑问:密钥user@host需与系统及Gitlab用户名匹配吗?
问题
id_rsa.pub中的user@host注释字段是否需要与本地机器的用户名-主机名以及Gitlab中的用户名匹配?
示例:
- Gitlab用户名:@john.doe
- Ubuntu主机名命令
hostname输出:JOHNDOE - Ubuntu用户名:
mark - id_rsa.pub中的注释部分:
...fsdfsdfsdfsd mark@JOHNDOE
我的Ubuntu用户是mark,生成的SSH RSA密钥末尾是mark@JOHNDOE。是否应该改为john.doe@JOHNDOE(同时修改Ubuntu用户和SSH公钥)?
且由于某些原因我无法修改Ubuntu机器上的用户。
我个人认为答案是不需要,问题可能出在Gitlab用户权限不足或网络问题上,但为了确认和SSH密钥无关,特意来咨询。我觉得只要SSH密钥和Gitlab中保存的一致就行,密钥里的注释字段无关紧要(我试过用-C "john.doe@JOHNDOE"命令修改这个注释,但修改后还是报错)。不过我还是怀疑是否必须把Ubuntu用户名改成john.doe
执行的命令/排查步骤
- 操作系统:
Ubuntu 18.04.6 LTS on Windows 10 x86_64(WSL) - 需要通过VPN连接(浏览器中其他HTTPS服务都能正常访问,网络应该没问题)
生成SSH密钥
ssh-keygen -t rsa -b 2048
添加SSH密钥
cat ~/.ssh/id_rsa.pub # 然后将密钥复制到Gitlab密钥设置中...
额外尝试的操作
eval $(ssh-agent -s) ssh-add -D ssh-add ~/.ssh/id_rsa.pub
报错信息
执行Git克隆时
请确认您拥有正确的访问权限,且仓库存在。
测试SSH连接时
ssh -T git@gitlab.example.com banner exchange: Connection to [此处IP已移除] port 22: Connection timed out
内容的提问来源于stack exchange,提问作者Federico Baù
相关产品推荐
相关产品推荐

