gitlab 和 github 配置 SSH Keys

gitlab 文档上给了很好的配置的例子:https://gitlab.com/help/ssh/README#locating-an-existing-ssh-key-pair

针对mac 下的使用方案,我的配置步骤如下:

生成公钥和私钥:

ssh-keygen -o -t rsa -b 4096 -C "email@example.com"

-C 表示 加一条注释,当你有很多keys 的使用,用来表示这一条是哪一个。

在配置过程中,会提示你生成密钥的路径默认是 ~/.ssh/id_rsa 文件,但是如果你在生成过程中,指定了新的路径,那么将在新的路径上生成你的公钥和私钥。

然后就上传你的公钥就好了。

修改SSH配置文件(~/.ssh/config):

# GitLab.com
Host gitlab.com
  Preferredauthentications publickey
  IdentityFile ~/.ssh/gitlab_com_rsa

# Private GitLab instance
Host gitlab.company.com
  Preferredauthentications publickey
  IdentityFile ~/.ssh/example_com_rsa

文件中 IdentityFile 配置的就是你私钥的路径。Host 关键字,是用来匹配你的配置是针对哪个网站的配置。Host gitlab.com 表示支持的gitlab 的配置。

验证是否配置成功:

ssh -T git@gitlab.com

因为在登录的时候,gitlab 和 github 网站上都没有提供伪终端。所以我们使用-T 选项,来进制伪终端的分配,其实这种的选项可加可不加。

下面是两个网站的显示结果:

➜  .ssh ssh -T git@github.com
Hi yaowenxu! You've successfully authenticated, but GitHub does not provide shell access.
➜  .ssh ssh -T git@github.com
Hi yaowenxu! You've successfully authenticated, but GitHub does not provide shell access.

到这里就结束了,写篇文档的目的就是,防止以后再配置的时候,能够有个文档快速配置,不要重复劳动。本身没有啥技术含量。如果能够帮助到你,还是希望能够点个赞表示支持。

git 设置全局邮箱:https://www.cnblogs.com/vae860514/p/8203455.html 

保持更新,转载请注明出处。https://www.cnblogs.com/xuyaowen/p/git-ssh-keys.html 

------

2019年04月10日17:53:40

当创建多个公私钥的时候,我们选择可使用特定私钥登录(可以通过删除配置文件配置,也可以使用 -i 选项指定):

  1. ssh -i ./id_rsa root@192.168.100.39
  2. ssh root@192.168.100.39 -i ./id_rsa

参考链接:https://blog.csdn.net/nahancy/article/details/79059135 

# 在windows 上,公钥的配置和linux 相同;

使用 windows 自身的ssh 进行按照上述步骤生成密钥;如果windows 自身的ssh 不能使用,可以在网上搜索安装 openssh 在windows 上安装使用;

参考链接:https://github.com/PowerShell/Win32-OpenSSH 

原文地址:https://www.cnblogs.com/xuyaowen/p/git-ssh-keys.html