如何生成git bash与tortoise git和putty都能用的key

本文介绍如何在GitBash中生成SSH密钥,并通过PuTTY工具将密钥转换为适用于远程登录的PPK格式。此外,还介绍了如何将公钥导入到Git服务器,以便在不使用密码的情况下进行身份验证。
部署运行你感兴趣的模型镜像

                                               


git bash与tortoise和putty对密钥的存储格式的定义的不同的,PuTTY工具提供了两者之间的转换方法。首先打开GIT BASH,运行命令:

ssh-keygen -t rsa -b 2048

如下图所示: 

 
密钥对保存在c:\Users\<Your User Name>\.ssh\文件夹下。


也可以输入加邮箱参数的,打开git bash,在控制台中输入以下命令。


$ ssh-keygen -t rsa -C "youremail@example.com"


密钥类型可以用 -t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。这里使用的是rsa。

同时在密钥中有一个注释字段,用-C来指定所指定的注释,可以方便用户标识这个密钥,指出密钥的用途或其他有用的信息。所以在这里输入自己的邮箱或者其他都行




打开PuTTY Key Generator,点击conversions菜单项,在下拉的菜单中点击Import Key菜单,把保存的id_rsa文件导入,如下所示: 
 


然后点击Save private key按钮,保存为id_rsa.ppk,如下图所示: 


打开Pageant Key List,点击Add Key按钮, 选择是刚才生成的ppk文件。如下图所示: 
 
此程序在系统托盘区显示图标,可直接关闭窗口。 
把id_rsa.pub文件里面的内容全部复制,导入到GIT服务器端。GIT服务器因实现软件不同而大同小异,可参照GIT网站对SSH KEY的导入说明。


接下来所有的pull或者push都可以不用输入密码,Visual Studio Code或者Tortoise Git都就可以不用输入密码,如下图所示: 




您可能感兴趣的与本文相关的镜像

Yolo-v8.3

Yolo-v8.3

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

### TortoiseSSH 公钥认证错误解决方案 当使用 TortoiseGitTortoiseSSH 进行 Git 操作时,如果遇到错误信息 `'no supported authentication methods available server sent: publickey'`,这通常表明客户端无法通过服务器要求的公钥认证方式进行身份验证。以下是可能导致此问题的原因及解决方案: #### 1. **检查 SSH 密钥对** 确保已经生成了有效的 SSH 密钥对,并且私钥位于客户端(通常是用户的主目录下的 `.ssh` 文件夹中),而公钥已正确添加到远程服务器的 `~/.ssh/authorized_keys` 文件中[^1]。 ```bash # 检查本地是否存在密钥对 ls ~/.ssh/id_rsa* # 对于 RSA 密钥 ``` 如果密钥不存在或不完整,请重新生成密钥对: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 将生成的公钥(`id_rsa.pub`)添加到远程服务器的 `~/.ssh/authorized_keys` 文件中[^2]。 #### 2. **配置 SSH 客户端** TortoiseGit 使用 Pageant 或 OpenSSH 作为 SSH 客户端。确保 Pageant 已启动并加载了正确的私钥文件。如果没有使用 Pageant,则需要在 TortoiseGit 的设置中指定私钥路径[^3]。 - 打开 TortoiseGit 设置 -> 网络 -> SSH 客户端。 - 如果使用 PuTTY,选择 `plink.exe` 并确保 Pageant 正常运行。 - 如果使用 OpenSSH,确保私钥路径正确配置为 `.ppk` 文件或 PEM 格式文件。 #### 3. **验证服务器配置** 服务器可能仅允许公钥认证,而禁用了其他认证方式。检查服务器的 SSH 配置文件 `/etc/ssh/sshd_config`,确保以下参数已正确设置[^4]: ```plaintext PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no # 如果不需要密码认证 ``` 重启 SSH 服务以应用更改: ```bash sudo systemctl restart sshd ``` #### 4. **测试连接** 在解决问题后,建议通过命令行测试 SSH 连接是否正常: ```bash ssh -i ~/.ssh/id_rsa -v user@server ``` 使用 `-v` 参数可以查看详细的调试信息,帮助进一步排查问题[^5]。 #### 5. **TortoiseGit 配置检查** 确保 TortoiseGit 的远程仓库 URL 正确配置为 SSH 格式: ```plaintext git@server:/path/to/repo.git ``` 同时确认用户名主机名无误。 --- ### 示例代码:生成 SSH 密钥对 ```bash # 生成新的 RSA 密钥对 ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # 将公钥复制到远程服务器 ssh-copy-id user@server ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值