ssh [email protected] [email protected]: Permission denied (publickey).
时间: 2025-01-30 14:22:53 浏览: 34
### SSH 连接 Git 服务器时权限被拒绝的解决方案
当遇到 `[email protected]:Permission denied (publickey)` 错误时,这通常意味着客户端无法使用正确的公钥验证身份。以下是详细的排查和解决方法:
#### 检查 SSH 密钥是否存在
确保本地已经生成了 SSH 密钥对。如果没有,则需要创建一个新的密钥对。
```bash
ls -al ~/.ssh
```
如果不存在 `id_rsa` 和 `id_rsa.pub` 文件,则可以通过以下命令生成新的密钥对[^1]:
```bash
ssh-keygen -t rsa -b 4096 -C "[email protected]"
```
#### 设置私钥权限
SSH 对私钥文件的权限有严格的要求,必须设置为仅限所有者访问。可以使用以下命令来检查并修改私钥的权限:
```bash
chmod 600 ~/.ssh/id_rsa
```
#### 添加私钥到 SSH Agent
为了使当前会话中的 SSH 客户端能够自动提供私钥给远程主机,需将私钥添加到 SSH agent 中:
```bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
```
#### 验证 GitHub 上的 SSH Key 是否已配置
登录 GitHub 账号,在账户设置中找到 SSH keys 页面,确认所使用的公钥已被正确添加至该列表内[^3]。
#### 测试 SSH 连接
最后一步是测试与 GitHub 的连接是否正常工作:
```bash
ssh -T [email protected]
```
成功的话应该收到一条欢迎消息;如果有任何错误提示,请仔细阅读并按照指示操作。
以上步骤涵盖了从生成新密钥对到最后验证整个流程的关键环节,遵循这些指导可以帮助排除大多数由于缺少适当认证而导致的问题。
阅读全文
相关推荐











