本文主要是介绍记曲折的、为gitlab设置ssh key的道路(不用默认文件名id_rsa时要怎么设置),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
记曲折的、为gitlab设置ssh key的道路(不用默认文件名id_rsa时要怎么设置)
本地生成ssh key
来到~/.ssh
目录下,生成ssh key
cd ~/.ssh
ssh-keygen -o -t rsa -b 4096 -C "zhansidi@foxmail.com"
自己取个名字Enter file in which to save the key (/Users/sindyjen/.ssh/id_rsa): git_id_rsa
, passphrase不设置。有两个相关文件git_id_rsa
存私钥, git_id_rsa.pub
存公钥。
因为名字不是默认的,所以要添加进ssh(用ssh-add filename
好像没法添加自定义名字的文件)。在此之前先把服务在后台跑起来。
eval "$(ssh-agent -s)"
ssh git@github.com -i /Users/sindyjen/.ssh/git_id_rsa
相应的,在config
目录下也要设置一下,添加:
Host gitlab.comIdentityFile ~/.ssh/git_id_rsa
这样就能去git_id_rsa这个文件里找钥匙啦,也应该不会收到permission denied
错误信息了。
远端gitlab上,添加公钥
先在本地拷贝公钥
pbcopy < git_id_rsa.pub
之后到gitlab上添加(profile > setting > ssh
下面)。
添加后,在Your SSH keys
下面,有添加的fingerprint,和本地的(用以下命令列出ssh key的输出)一致。
ssh-add -l -E md5
测试(-T是测试连接,-vT的话调试会输出更多信息):
ssh -vT git@gitlab.com
这样就成功啦Authentication succeeded (publickey).
。
ref
- gitlab help: GitLab and SSH keys
- stackoverflow: Does ssh key need to be named id_rsa?
这篇关于记曲折的、为gitlab设置ssh key的道路(不用默认文件名id_rsa时要怎么设置)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!