tortoisegit 常见错误disconnected no supported authentication methods available(server sent: publickey)

今天用bash可以推送,但是在小乌龟上却没法推送
百度后此方法解决
添加链接描述

### 解决 Git 错误No supported authentication methods available (server sent: publickey)” 当遇到错误No supported authentication methods available (server sent: publickey)”时,通常是因为 SSH 配置存在问题或者使用的 SSH 客户端与服务器的要求不匹配。以下是详细的解决方案: #### 1. **确认本地已配置正确的 SSH 密钥** 确保本地计算机上已经生成了有效的 SSH 密钥,并将其添加到了目标 Git 服务器(如 GitHub 或其他自托管 Git 服务)中。 - 使用 `ssh-keygen` 命令生成新的 RSA 或 ED25519 类型的密钥: ```bash ssh-keygen -t ed25519 -C "your_email@example.com" ``` 将生成的公钥文件内容复制并粘贴到远程仓库的 SSH Keys 设置中[^1]。 #### 2. **更改 TortoiseGit 的 SSH 客户端设置** 如果正在使用 TortoiseGit 并遇到了此问题,可能需要调整其默认的 SSH 客户端配置。 - 打开 TortoiseGit 设置窗口 (`Right Click -> Settings`)。 - 转至 `Network` 页面,找到 `SSH client` 字段。 - 更改为本地安装的 Git 提供的 `ssh.exe` 文件路径,例如: ``` C:\Program Files\Git\usr\bin\ssh.exe ``` 此操作可以解决因默认客户端(如 TortoisePlink.exe)无法识别标准 OpenSSH 格式的私钥而导致的问题[^3]。 #### 3. **处理 PPK 和 OpenSSH 私钥格式差异** 某些情况下,默认的 SSH 客户端可能会期望 `.ppk` 格式的密钥而非由 `ssh-keygen` 创建的标准 OpenSSH 格式。可以通过工具转换密钥格式来兼容不同需求。 - 利用 PuTTY Key Generator 工具加载现有的 OpenSSH 私钥文件,随后保存为 `.ppk` 格式以便被 TortoisePlink 使用[^4]。 #### 4. **重新启动会话或清理缓存** 有时简单的环境刷新也能解决问题。尝试注销再登录系统账户,或是关闭所有终端实例后再重试命令执行过程。另外还可以考虑清除潜在干扰因素——比如旧版代理配置残留影响连接行为[^5]。 ```python import paramiko client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: client.connect('hostname', username='username', key_filename='/path/to/key') except Exception as e: print(f'Connection failed with error {e}') finally: client.close() ``` 上述脚本展示了如何利用 Python 库 Paramiko 来建立基于指定密钥的安全 Shell 连接;对于调试目的来说非常有用。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值