我希望你们能帮上忙。我一直在寻找并阅读 noip.com 上的信息,但一无所获。
我已经在家用计算机上设置了 SSH 服务器。我更改了 sshd_config 中的端口号并将我的端口号转发到路由器。如果我与服务器在同一个网络上(使用 ssh -p port# me@private.ip),我可以很好地连接到我的服务器,并且可以使用(ssh -p12xx me@public.ip)从不同的网络正常连接.
我已经设置了一个 noip 帐户并获得了一个主机 ID“me.ddns.net”。下载了 noip-DUC 更新程序来更新我的 IP 地址。我的问题是,当我尝试 ssh -p port# me.ddsn.net(我在 noip 上的主机名不使用 @ 符号)时,出现错误 Permission Denied (public key)。需要明确的是,我仍然可以使用私有 ip 和公共 ip 连接到我的服务器,而不是通过 noip 的主机名。正如我所提到的,我确实使用了 ssh-keys 并禁用了密码提示。我是否需要为 noip 配置 ssh-key 或将我的 ssh-keys 上传到 noip?我只使用 SSH 24 小时,而且非常缺乏经验。我感谢大家的建议。
谢谢你。
首先,您永远不会将私钥上传到任何地方。
让我们解决这个问题。
ssh -p 12xx user@server.ip
ssh -p 12xx user@noip.address
请验证这一点,以便我们帮助您解决问题。
只是为了提醒您,因为您声称这是您第一次使用 ssh。如果您在本地运行时使用的用户名与服务器上使用的用户名不同,则需要使用“@”进行连接。这是:
usernameA [笔记本电脑] ---> ssh ---> usernameA [服务器]
在这种情况下,您将使用:
ssh -p 12xx youraddres.no-ip
Run Code Online (Sandbox Code Playgroud)
如果您使用不同的用户名,则必须使用“@”指定。所以如果是这种情况:
用户名A [笔记本电脑] ---> ssh ---> 用户名B [服务器]
你应该使用:
ssh -p 12xx usernameB@youraddres.no-ip
Run Code Online (Sandbox Code Playgroud)