ssh公网Permission denied, please try again.
时间: 2025-01-25 13:08:12 浏览: 41
### 解决 SSH 公网连接权限被拒问题
当遇到 `Permission denied` 错误时,通常意味着客户端尝试通过 SSH 访问服务器未成功认证。此错误可能由多种原因引起,包括但不限于私钥不匹配、SSH 服务配置不当或防火墙设置阻止访问。
#### 检查本地已知主机文件
如果之前已经连接过目标服务器,则本地计算机上可能存在旧的主机密钥记录,在 `.ssh/known_hosts` 文件内。这些记录可能导致冲突,从而引发权限拒绝的问题[^3]。移除对应条目可以解决问题:
```bash
# 打开 known_hosts 文件并删除对应的 IP 行
vim ~/.ssh/known_hosts
```
#### 安装 OpenSSH Server 并重启服务
确保远程机器上的 SSH 服务器正常运行至关重要。可以通过安装最新的 OpenSSH server 软件包来实现这一点,并随后重启该服务以应用更改[^1]。
```bash
sudo apt update && sudo apt install openssh-server -y
sudo systemctl restart sshd
```
#### 修改 SSHD 配置允许公钥认证
编辑 `/etc/ssh/sshd_config` 文件中的参数,确认启用了基于公钥的身份验证功能,并保存修改后的配置文件[^2]。
```bash
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no # 如果仅依赖于密钥对则关闭密码登录选项
```
完成上述操作之后再次启动 SSH daemon 或者整个系统使新的设定生效:
```bash
sudo systemctl reload sshd
```
#### 添加用户的公共密钥到授权列表
将个人电脑生成的一对 RSA 密码中的公开部分追加至远端账户家目录下特定位置以便识别身份。
```bash
cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
```
以上措施应该能够有效处理大多数情况下发生的 SSH 权限否认状况;然而,具体环境差异可能会带来额外挑战,因此必要时还需进一步排查其他潜在因素。
阅读全文
相关推荐


















