[实操] 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

参数说明: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不需要扩展名

如果服务器没有配置域名,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

 

github配置如下

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

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

Port:gitblit模式端口是29418

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工具
GIT Bash 简单讲解-git如何推/拉代码
windows Redis配置
vue vue-clie环境配置
Visual Studio(VS) 集成 Git 的命令窗口 Git Bash
.net-winform平台编译设置 csproj配置
在 SA 和 Windows 等账户都被禁用的情况如何登录?
【C#】C#中使用GDAL3(三):Windows编译插件驱动
windows Nginx配置开机自启动
git 合并多次提交
.Net 高性能分表分库组件-连接模式原理
git仓库子模块(submodule)项目中的实战应用
Anaconda配置
windows申请免费ssl证书Let's Encrypt
GIT pull时候出现 refusing to merge unrelated histories
Windows服务程序开发
SourceGenerator的应用: .Net进程开发库 - Juxtapose
VS制作C#程序windows安装程序

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