我希望你们能帮忙。我搜索了很长时间,阅读了 noip.com 上的信息,但什么也没找到。
我在家用电脑上设置了一个 SSH 服务器。我在 sshd_config 中更改了端口号,并将端口号转发给了路由器。如果我与服务器位于同一网络上(使用 ssh -p port#),我可以正常连接到服务器[电子邮件保护])并且可以使用(ssh -p12xx)从不同的网络连接[电子邮件保护])。
我已经设置了一个 noip 帐户,并获得了主机 ID“me.ddns.net”。下载了 noip-DUC 更新程序来更新我的 IP 地址。我的问题是,当我尝试 ssh -p port# me.ddsn.net(我在 noip 上的主机名不使用 @ 符号)时,我收到错误“权限被拒绝(公钥)”。要清楚的是,我仍然可以使用私有 IP 和公共 IP 正常连接到我的服务器,只是不能通过 noip 的主机名。正如我所提到的,我确实使用了 ssh 密钥并禁用了密码提示。我需要为 noip 配置 ssh 密钥或将我的 ssh 密钥上传到 noip 吗?我只使用 SSH 24 小时,非常缺乏经验。我感谢大家的建议。
谢谢。
答案1
首先,你绝不将您的私钥上传到任何地方。
让我们把这件事做好。
- 服务器正在不同的端口 (12xx) 上运行 ssh_d 服务
- 您将路由器上的 12xx 端口转发到服务器。
- 如果您与我在同一网络上,则可以使用
ssh -p 12xx [email protected]
- 如果您在另一个网络上,则可以使用
ssh -p 12xx [email protected]
- 两个连接都使用同一个原点盒(我假设是笔记本电脑)
请验证这一点,以便我们帮助您解决问题。
由于您声称这是您第一次使用 ssh,因此请您注意。如果您在本地运行的用户名与要在服务器上使用的用户名不同,则需要使用“@”进行连接。这是:
用户名A [笔记本电脑] ---> ssh ---> 用户名A [服务器]
在这种情况下,您可以使用:
ssh -p 12xx youraddres.no-ip
如果您使用不同的用户名,则必须使用“@”来指定。因此,如果是这种情况:
用户名A [笔记本电脑] ---> ssh ---> 用户名B [服务器]
你应该使用:
ssh -p 12xx [email protected]