[实操] Windows下Git多账号SSH配置


简介:

生成 SSH 公钥 如前所述,许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作系统上都是相似的。

1. 打开用户.ssh目录 

C盘用户用户名.ssh

 

2. 生成 RSA 密钥

在目录中空白处 右键 ,选择 Git Bash Here

在 Git命令窗口 输入

$ ssh-keygen -t rsa -C garson_xq

有些站点已经不支持rsa了,推荐使用更强的ed25519

PowerShell 全选
ssh-keygen -t ed25519 -b 256

 

参数说明:garson_xq 是自己取的,一个对rsa密钥的标识,用于区分不同的rsa

如果密钥已经生成,也可以在公钥文件中修改

 

输入密钥文件名,示例

id_rsa 是固定的开头

garson 代表用户名

xq 代表计算机的名称

infnitee 代表服务器的标识

 

Enter passphrase 是密码,直接为空就好,回车,执行后如图所示:

目录中会生成一对密钥文件

id_rsa_garson_xq_infnitee:私钥文件

id_rsa_garson_xq_infnitee.pub:公钥,需要上传到 gitblit

 

3. 配置密钥 config

.ssh 文件夹中 新建一个文本文件 config不需要扩展名

通用配置,如果是RSA配置如下

PowerShell 全选
HostKeyAlgorithms ssh-rsa
PubkeyAcceptedKeyTypes ssh-rsa

如果是ed25519配置如下

C# 全选
HostKeyAlgorithms ssh-ed25519
PubkeyAcceptedKeyTypes ssh-ed25519

gitblit 不支持ed25519

3.1 gitblit

如果服务器没有配置域名,IP 访问,配置如下

# 配置IP地址 infnitee gitblit,
Host 192.168.1.105
	HostName 192.168.1.105
	Port 29418
	IdentityFile C:\\Users\\XQ-Garson\\.ssh\\id_rsa_garson_xq_infnitee
	PreferredAuthentications publickey
	User GarsonZhang

如果服务器配置了域名,域名访问,配置如下

# 配置域名 infnitee gitblit,
Host git-test.infnitee.com
	HostName git-test.infnitee.com
	Port 29418
	IdentityFile C:\\Users\\XQ-Garson\\.ssh\\id_rsa_garson_xq_infnitee
	PreferredAuthentications publickey
	User GarsonZhang
	HostKeyAlgorithms ssh-rsa
	PubkeyAcceptedKeyTypes ssh-rsa

3.2 github

github配置如下

# 配置github.com
Host github.com                
    HostName github.com
    IdentityFile C:\\Users\\popfisher\\.ssh\\id_rsa_github
    PreferredAuthentications publickey
    User username1
    HostKeyAlgorithms ssh-ed25519
    PubkeyAcceptedKeyTypes ssh-ed25519

User:用户名,如果和登录名不一致,会出错

Port:gitblit模式端口是29418

3.3 gitee

Markup 全选
# 配置IP地址 gitee.com
Host gitee.com
	HostName gitee.com
	IdentityFile C:\\Users\\garson\\.ssh\\id_ed25519
	PreferredAuthentications publickey
	User garsonzhang
	HostKeyAlgorithms ssh-ed25519
	PubkeyAcceptedKeyTypes ssh-ed25519

4. 上传公钥

登录 gitblit 站点,登录用户,右上角打开 用户中心 

复制公钥在 SSH Key 文本框中,添加 SSH Key,公钥是生成的RSA以 pub 结尾的文件中

添加后如图:

 

5. 测试SSH配置

在 git命令 窗口中 输入 ssh -T 服务器

服务器是在config中配置的 host

输入 yes

运行成功的截图

如果出现报错:

请检查 config中配置的 User 是否和登录名一致

 

配置完成后,就可以不需要输入密码进行直接拉取和提交了

 

问题解决

升级后出现问题 Unable to negotiate with 39.97.107.98 port 29418: no matching host key type found. Their offer: ssh-rsa,ssh-dss

PowerShell 全选
$ ssh -T git.infnitee.com
Unable to negotiate with 39.97.107.98 port 29418: no matching host key type found. Their offer: ssh-rsa,ssh-dss

[实操] Windows下Git多账号SSH配置

config中增加两个属性

Markup 全选
HostKeyAlgorithms ssh-rsa
PubkeyAcceptedKeyTypes ssh-rsa

[实操] Windows下Git多账号SSH配置

然后再运行测试

[实操] Windows下Git多账号SSH配置

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
上一篇:FastReport 合并多个报表,一次打印多个rpt文件
下一篇:async & await 的前世今生
评论列表

发表评论

评论内容
昵称:
关联文章

[] WindowsGit账号SSH配置
WindowsGit账号配置,同一电脑ssh-key的管理
windows配置安卓adb工具
windowsopenssl安装,证书生成,nginx配置https以及http重定向https
GIT Bash 简单讲解-git如何推/拉代码
windows Redis配置
git-for-windows.exe 国内镜像下载
vue vue-clie环境配置
SUSE开启SSH
Visual Studio(VS) 集成 Git 的命令窗口 Git Bash
.net-winform平台编译设置 csproj配置
在 SA 和 Windows 等账户都被禁用的情况如何登录?
【C#】C#中使用GDAL3(三):Windows编译插件驱动
windows Nginx配置开机自启动
.net8环境配置与切换
git 合并多次提交
.Net 高性能分表分库组件-连接模式原理
飞牛nas ssh连接更改IP地址
window server部署open VPN
git仓库子模块(submodule)项目中的实战应用

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码