ssh -T [email protected] [email protected]: Permission denied (publickey).
时间: 2025-02-04 17:35:28 浏览: 45
### SSH 连接 Git 服务器时权限被拒绝的解决方案
当遇到 `Permission denied (publickey)` 错误时,通常是因为 Git 服务器未配置正确的公钥认证。以下是详细的解决办法:
#### 配置 SSH 密钥对
如果本地尚未生成 SSH 密钥对,则需先创建一对新的密钥。
```bash
ssh-keygen -t rsa -C "你的邮箱"
```
此命令会引导用户完成私钥和公钥的生成过程[^1]。
#### 添加公钥至 Git 服务器
生成后的公钥位于 `~/.ssh/id_rsa.pub` 文件内,需要将其内容添加到目标 Git 服务提供商(如 GitHub、GitLab 等)账户设置中的 SSH Keys 页面下。
可以使用文本编辑器打开并查看该文件的内容以便复制粘贴:
```bash
gedit ~/.ssh/id_rsa.pub
```
接着登录对应的 Git 平台网站,在个人资料的安全选项里找到 SSH 和 GPG keys 菜单项,点击 “New SSH key”,输入标题并将刚刚获取到的公钥填入 Key 字段保存即可。
#### 修改 `.ssh/config` 文件以支持旧版本算法
对于某些特定环境下的问题,可能还需要调整客户端侧的 SSH 客户端参数来兼容更广泛的主机验证机制。可以在用户的家目录下的隐藏文件夹 `.ssh/` 中建立名为 config 的纯文本配置文档,并加入如下几行代码片段:
```plaintext
Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
```
这段设定允许使用较老式的 RSA 加密方式进行身份确认,从而绕过部分因默认策略限制而引发的身份校验失败状况[^2]。
经过上述步骤处理之后再次尝试执行涉及远程仓库的操作应该就能正常工作了。若依旧存在访问障碍建议进一步排查网络连通性和防火墙规则等因素的影响。
阅读全文
相关推荐








