windows 系统配置 ssh 路由实现用不同 ssh 访问对应的 git 仓库

前言

因为 github 和 公司的 gitlab 仓库不一致,但是我不想用一套密钥对连接 2端,所以需要配置不同的 ssh 进行连接。

操作说明

  1. 创建密钥对
 ssh-keygen -t rsa -C "test" -f "/c/Users/my/.ssh/test"

-t:指定要使用的密钥类型。可以使用的密钥类型包括 rsa、dsa、ecdsa、ed25519 等,建议就使用 rsa ;
-C:为生成的密钥添加注释,用于标识该密钥的用途或所有者。一般是自己的邮箱,不过建议使用自己这台电脑的唯一标识
-f: 指定生成的密钥文件名及其路径。默认情况下,公钥保存在 ~/.ssh/id_rsa.pub,私钥保存在 ~/.ssh/id_rsa,这里是因为我们要多个 ssh, 所以需要重命名 /c/Users/{{自己当前登录账户的目录}}/.ssh/{{文件名,建议跟对应仓库域名联动}}

  1. 创建 ssh 配置文件
    在当前登录用户的 .ssh 目录下创建 config 文件(无后缀)
    对应写上连接的 git 仓库地址,如下图所示
Host github.com
	IdentityFile ~/.ssh/github
	User git
	
Host gitlab.test.cn
	IdentityFile ~/.ssh/test
	User git

Host 可以填写通配符 *, IdentityFile 指用于身份验证的私钥文件路径,User 是指连接目标主机时所使用的用户名,可以随便输入,当我们使用 git pull 等进行 ssh 连接时,就会使用对应私钥,其他参数放置在本文末尾。

  1. 复制公钥内容到对应代码仓库中,网上都有,就配置个截图展示下吧。
    在这里插入图片描述
  2. 进行调试连接

相关 ssh 的 config 说明

  • Host:设置一个别名来代替目标主机的主机名,可以在命令行中使用该别名来连接目标主机。
  • HostName:设置目标主机的主机名或 IP 地址。
  • Port:设置目标主机的 SSH 端口号。
  • User:设置连接目标主机时所使用的用户名。
  • IdentityFile:指定用于身份验证的私钥文件路径。
  • Compression:启用或禁用压缩数据传输。
  • ForwardX11:启用或禁用 X11 转发。
  • ProxyCommand:设置代理命令,以便通过代理服务器进行连接。
  • LogLevel:设置日志级别,以便记录更详细的连接信息。
  • TCPKeepAlive:启用或禁用 TCP KeepAlive。
  • ServerAliveInterval:设置发送心跳包的时间间隔。
  • ExitOnForwardFailure:在端口转发失败时是否终止连接。
  • PreferredAuthentications:设置首选的身份验证方式,可以包括 publickey、password、keyboard-interactive 等。
  • ControlMaster:启用或禁用控制主进程,以便在使用相同连接的多个会话之间共享连接。
  • ControlPath:设置控制连接的 UNIX 套接字路径,以便在使用控制主进程时共享连接。
  • 这些选项可以通过在 SSH 的 config 配置文件中设置来自定义 SSH 客户端的行为。可以通过编辑 ~/.ssh/config 文件来修改配置。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值