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

gitlab 和 github 配置 SSH Keys的更多相关文章

  1. window下配置SSH连接GitHub、GitHub配置ssh key(转)

    转自:http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html 此经验分两部分: 第一部分介绍:在windows下通过msysGit ...

  2. window下配置SSH连接GitHub、GitHub配置ssh key

    window下配置SSH连接GitHub.GitHub配置ssh key   此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配 ...

  3. 为GitLab帐号添加SSH keys并连接GitLab

    https://blog.csdn.net/xyzchenxiaolin/article/details/51852333 为github帐号添加SSH keys使用git clone命令从GitLa ...

  4. 七、配置ssh keys连通github跟ssh-agent

    jenkins+github配置完成后,能够实现在提交pull request或者直接push时,能够将提交的代码拉去一份到服务器本地,并自动merge:但是代码拉去下来了,部署环境的时候却需要输入登 ...

  5. 同一台电脑使用 gitlab 和 github 配置

    Git 客户端与服务器端的通信支持多种协议,ssh 最常用.ssh的公钥登录流程,用户将自己的公钥存储在远程主机,登录时,远程主机会向用户发送一条消息,用户用自己的私钥加密后,再发给服务器.远程主机用 ...

  6. GitHub 添加 SSH keys

    首先在本地创建 SSH Keys $ ssh-keygen -t rsa -C "18817801185@163.com" 后面的邮箱即为 github 注册邮箱,之后会要求确认路 ...

  7. Github 配置 SSH

    HTTPS方式管理的直接输入登录用户名和密码就可以.下面介绍SSH的方式. mac系统为例,官方ssh参考:https://help.github.com/articles/generating-ss ...

  8. Github配置SSH连接

    安装git.exe,打开Git Bash 1.检查是否已经有SSH Key. $cd /.ssh 2.生成一个新的SSH. $ ssh-keygen -t rsa -C "email@git ...

  9. Github配置SSH

    以前也配置过ssh,但是没有注意用法,在配置一次熟悉流程 检查本机是否有ssh key设置 $ cd ~/.ssh 或cd .ssh 如果没有则提示: No such file or director ...

随机推荐

  1. 14-01 Java matches类,Pattern类,matcher类

    Pattern类 正则表达式常见规则 A:字符 x 字符 x.举例:'a'表示字符a \\ 反斜线字符. \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D') B:字符类 [ ...

  2. spring cloud(断路器——初学五)

    Feign使用Hystrix 因为feign已经依赖了hystrix,所以可以直接使用,无需添加再次添加依赖. 1.使用@FeignClient注解中的fallback属性指定回调类 package ...

  3. ACM学习<二>

    穷举算法思想:     一句话:就是从所有可能的情况,搜索出正确的答案. 步骤:     1.对于一种可能的情况,计算其结果.     2.判断结果是否满足,YES计算下一个,no继续步骤1,然后判断 ...

  4. 技术人员在小公司成长 vs 大公司成长路径和建议

    我们经常听到这样的对话: 大公司猿A:真不想干了,每天都做类似的工作,学不到什么东西,会议也多,浪费不少时间,想去小公司多做些事情,多学些东西. 小公司猿B:累死了,什么都做,太乱太杂,没系统不规范, ...

  5. Session会话保持机制的原理与Tomcat Session共享的几种实现方式(Session Cluster、memcached+MSM)

    一.Session的定义 在计算机科学中,特别是在网络中,session是两个或更多个通信设备之间或计算机和用户之间的临时和交互式信息交换.session在某个时间点建立,然后在之后的某一时间点拆除. ...

  6. this引用逃逸

    1.什么是This逃逸? 在构造器构造还未彻底完成前(即实例初始化阶段还未完成),将自身this引用向外抛出并被其他线程复制(访问)了该引用,可能会问到该还未被初始化的变量,甚至可能会造成更大严重的问 ...

  7. 微服务学习二:springboot与swagger2的集成

    现在测试都提倡自动化测试,那我们作为后台的开发人员,也得进步下啊,以前用postman来测试后台接口,那个麻烦啊,一个字母输错就导致测试失败,现在swagger的出现可谓是拯救了这些开发人员,便捷之处 ...

  8. T-SQL:批GO使用实例(十四)

    批是由客户端应用程序作为一个单元发送给SQL Server 执行的一条或多条语句  如果批中出现错误就整个批都不会交给SQL SERVER 执行 PRINT '第一批';GO -- Invalid b ...

  9. scala 基础

    1.scala一些预热操作 1.1 to 是一个方法,()可以进行 参数传递,map()把每一个元素取出来进行相应的操作,  print(1.to(10).map(_*10))  结果  Vector ...

  10. 【Spring】详解spring事务属性

    Spring声明式事务让我们从复杂的事务处理中得到解脱.使得我们再也无需要去处理获得连接.关闭连接.事务提交和回滚等这些操作.再也无需要我们在与事务相关的方法中处理大量的try…catch…final ...