xsnow
机遇总是留给有准备的人
随笔 - 42,  文章 - 0,  评论 - 0,  阅读 - 75788

由于公司代码管理放在了gitlab上,而个人代码放在github上,因此需要生成多个ssh key

指定密钥名称

ssh-keygen -t rsa -C 'youremail@yourcompany.com' -f ~/.ssh/gitlab_id_rsa

// 测试连接gitlab报错
ssh -T git@gitlab.com
// 此类报错忽略,以是否能从gitlab仓库中git pull代码为准(gitlab代码库地址为局域网造成的)
git@gitlab.com: Permission denied (publickey). 

生成gitlab的ssh key值

  1. ssh-keygen -t rsa -C "youremail@yourcompany.com"
  2. 上一步回车后。会询问ssh key文件存放在哪里(默认是/Users/admin/.ssh/id_rsa,如果不想切换地址,那就直接回车)
  3. 上一步回车之后,会让你输入一个secure passphrase(可以直接回车)
  4. 完成之后,到~/.ssh下可以查看到id_rsa和id_rsa.pub,将id_rsa.pub里的key拷出来,添加到你的gitlab账户里就行了

生成github的ssh key值

ssh-keygen -t ed25519 -C "your_email@example.com"
  • 接着在github.com网站上再生成一个ssh key,生成过程与上一次唯一不同的地方在于保存ssh key的文件要换一下,假如上一次是/Users/admin/.ssh/id_rsa,那么这次就可以切换成/Users/you/.ssh/id_rsa_github,相应的也会生成一个id_rsa_github.pub;

注意

  • 因为SSH默认只读取id_rsa,为了让SSH识别新的私钥,需要使用命令将其添加到SSH agent,命令如下:
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_github
  • 若执行ssh-add时提示“Could not open a connection to your authentication agent”,则执行下面的命令:
ssh-agent bash
  • 然后再运行ssh-add命令(可以通过ssh-add -l查看私钥列表);
ssh-add -l
  • 接着修改配置文件
    在~./ssh目录下新建一个config文件,命令如下:
touch config
  • 编辑config文件,往里添加内容如下:
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
# GitHub
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
  • 找到.ssh/id_rsa_github.pub文件,打开复制里面的内容,打开github主页,进入个人设置 -> SSH and GPG keys -> New SSH key,将刚复制的内容黏贴到key那里,title随便填,保存。

  • 最后测试

ssh -T git@github.com

输出:Hi snow20170831! You've successfully authenticated, but GitHub does not provide shell access.就表示成功的连上github了

遇到问题

  • 连接 github 测试报错,但是改为连接443端口就可以了


  • 修改 config 如下所示
# GitHub
Host github.com
HostName ssh.github.com
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519
  • 修改之后再次测试成功

posted on   xsnow  阅读(261)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示