我知道这是一个非常热门的话题,但在阅读了大量教程并检查了最常见的故障排除问题后,我遇到了以下情况
我们办公室里有一台小型服务器,安装了 Ubuntu 20 服务器。ssh 在本地网络中运行良好。均使用密码和 ssh 密钥对身份验证。
问题是。当我尝试从外部网络访问时,我无法让它工作
以下步骤列表:
- ssh 使用 rsa 生成密钥
- 将公钥复制到服务器
- 路由器配置为将端口 22 转发到本地服务器 ip
- 在客户端和服务器端,权限在 .ssh/authorized_keys 中均配置为 rw
- 就我目前在教程中看到的情况而言,sshd 配置文件显然是正确的,但不确定。
命令和输出:
ssh -i id_rsa user@external_ip
Unable to negotiate with [external_ip] port 22: no matching host key type found. Their offer: ssh-rsa
阅读一些主题后,我遇到了以下参数:
ssh -i id_rsa user@external_ip -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa
运行此命令时,它仍会提示输入密码。我输入密码后得到:
Permission denied, please try again.
我真的不知道我做错了什么......