git问题:在本地配置多个ssh key账户
问题描述
当我们工作的时候,会遇到这样的情况:公司用的gitlab仓库,你自己私下用github仓库,这样就产生了一个问题,我们需要登录不同的账号管理不同的git仓库,那么怎么做呢,接下来看我操作⬇️
解决方法
我们要生成两个ssh key来向不同的git仓库push代码
-
ssh-keygen -t rsa -C "公司邮箱@xxx.com"
-
ssh-keygen -t rsa -C "自己邮箱@xxx.com"
-
在家目录执行以上代码,然后回车,会提示你输入一个名字,如果你不输入直接回车会使用默认的名字生成id_rsa.pub和id_rsa文件,(我之前用公司的邮箱生成ssh key是直接回车的,自已邮箱输入了名字github_rsa,就生成了如图的样子)
-
然后新建一个config文件,如上图,在里面输入
linux下:#dxy gitlab Host gitlab.dxy.net HostName gitlab.dxy.net PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa #my github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_rsa
windows下:
#dxy gitlab Host gitlab.dxy.net HostName gitlab.dxy.net PreferredAuthentications publickey IdentityFile C:\\Users\\\admin\\.ssh\\id_rsa #my github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile C:\\Users\\\admin\\.ssh\\github_rsa
Host
: 相当于一个别名,远程仓库地址的域名别名它涵盖了下面一个段的配置,我们可以通过他来替代将要连接的服务器地址。这里可以使用任意字段或通配符。访问ssh的时候如果服务器地址能匹配上这里Host指定的值,则Host下面指定的HostName将被作为最终的服务器地址使用,并且将使用该Host字段下面配置的所有自定义配置来覆盖默认的/etc/ssh/ssh_config配置信息。
HostName
:真正连接的服务器地址
User
:自定义的用户名
PreferredAuthentications
指定优先使用哪种方式验证,支持密码和秘钥验证方式
IdentityFile
:指定本次连接使用的密钥文件 -
然后,将刚刚生成的公司的公钥id_rsa.pub放到gitlab的ssh配置里;自己的公钥github_rsa.pub放到自己github的ssh配置里。自此,大功告成,你就可以就可以通过不同的Host来针对不同的git仓库和git项目使用不同的ssh key啦~
相关文章
- 为SSH远程访问树莓派配置固定的公网TCP地址
- CentOS 配置集群机器之间SSH免密码登录
- CentOS配置ssh无密码登录
- CentOS下SSH无密码登录的配置
- git-ssh 配置和使用
- [转]SSH和SSM对比总结
- git配置多个ssh
- Ansible配置执行远程主机的ssh端口号
- Xshell配置ssh免密码登录-密钥公钥(Public key)
- 针对远程Git代码库使用SSH公匙
- git配置github的ssh
- 《树莓派渗透测试实战》——2.8 SSH默认私钥和管理
- H3C 路由器SSH服务配置命令(续)
- H3C路由器SSH服务配置命令
- Windows上安装配置SSH教程(8)——综合应用:在Windows上使用手动方式实现SSH远程登陆与文件传输
- Windows上安装配置SSH教程(7)——几种方式对比
- Windows上安装配置SSH教程(5)——win10下使用Cygwin+Expect自动登陆ssh
- ssh ssm ssi 服务器平台架构
- SSH远程连接Linux配置
- SSH框架
- Linode之使用UE实现SSH连接
- 关于UbuntuMate的两个问题点:SSH问题处理与自启动项配置
- 大数据技术基础实验一:配置SSH免密登录