我有 ubuntu 12.04,我试图远程连接到我的 SSH 服务器,由于密码不正确,身份验证被拒绝。但是,当我从本地网络(即 192.168.1.101)连接到我的机器时,我使用的密码与远程登录时使用的密码完全相同,我就可以正确连接到我的 ssh 机器... 有什么帮助吗?
答案1
确保您的路由器没有运行 SSH 服务器,并将端口 22 转发到您的 SSH 服务器。
要确保您的路由器没有运行 SSH,请使用 获取路由器的本地 IP netstat -nr
。这是我得到的结果:
netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
找到网关,对我来说是 192.168.1.1。接下来,尝试通过 ssh 连接它:
ssh 192.168.1.1
如果它要求输入用户名和密码,那么它有一个 SSH 服务器。您应该能够从路由器的 Web 面板(可使用我们获取的 IP 访问)禁用它。
然后,您需要使用路由器的网络面板(可通过我们获取的 IP 访问)将端口 22 转发到您的 SSH 服务器。
答案2
您可以尝试以更详细的方式运行客户端和服务器请参阅此答案:无法通过 SSH 登录我的服务器,但密码正确
还要检查是否有“AllowUsers username@ip”这样的行
答案3
我不认为这是最好的方法,但它有效
sudo nano /etc/ssh/sshd_config
将内部端口改为 39 (任意,不是 22):
Port 39
保存并重启ssh:
sudo service ssh restart
连接时使用-p 39:
ssh [email protected] -p 39