我一直尝试从我的家庭网络之外登录我的 Pi(我是在 2013 年左右买的,所以我认为它是第一款 B 型)(我可以在同一个 LAN 内顺利地使用 SSH)。
我已经使用 NoIP 设置了 DDNS(所以我在 myserver.ddns.net),并且我相信我已经在路由器上正确设置了端口转发 - 即端口 22 被发送到 LAN 上我的 Pi 的本地 IP 地址,192.168.x.x
如果我尝试通过外部登录[电子邮件保护]我被告知要输入我的密码[email protected]
的密码:但是使用我的 Pi、我的路由器或其他任何东西的密码不起作用,最后我得到了[email protected]: Permission denied (publickey,password)
。
有没有人有这方面的经验,或者能告诉我在哪里可以解决这个问题?我认为我在谷歌上搜索这个问题的原因是,有很多与此相关的更复杂的问题似乎被更频繁地询问,所以据我所知,我的基本问题并没有得到真正解决。
顺便说一句,ping 我的服务器是可行的,而且这样做telnet myserver.ddns.net 22
可以建立连接(据我所知)。正如你所看到的,我对网络相对缺乏经验,但希望学习,所以原谅我缺乏技术知识。
答案1
想知道您是否真的连接到了其他人的 ssh 服务器,因为 IP 实际上并不正确。-v 增加详细程度,-vv 更详细,而 -vvv 可以是 firehose。将告诉您有关正在发生的事情的更多信息。尝试执行此操作时,您的 Pi 上的日志文件会显示什么?
ssh -v [email protected]
如果您将公钥从客户端计算机复制到 Pi ~/.ssh/authorized_keys 文件中,故障排除将变得更加容易。首先,它可以指示您是否真的连接到您认为正在连接的计算机。它还可以节省输入错误密码的时间。
ssh-copy-id [email protected]
解决此问题最简单的方法是待在家里,将笔记本电脑连接到邻居的 WiFi 或 4G 蜂窝连接。在 Pi 上打开 myip.dnsomatic.com,验证它是否与笔记本电脑上的 myserver.ddns.net 的 IP 地址匹配。
在 Google 上了解如何禁用密码登录并仅使用 ssh 密钥。