这是新手的问题。
我在一台旧台式机上设置了一个 ubuntu 服务器。在服务器上,我创建了一个用户并赋予它 sudo 权限。当我使用 PuTTY 时,如果我输入 ip 地址登录,我可以毫无问题地登录。但是当我尝试登录主机名(通过 no-ip 设置)时,我被拒绝访问。
需要澄清的是,如果我登录到 username@ipaddress,系统会提示我输入密码,然后我就登录了。
但是,如果我输入用户名@主机名,系统会提示我输入密码,并且会显示“拒绝访问”。
我知道这肯定是 no-ip 方面的问题,但我搞不清楚。有什么建议吗?提前谢谢!
编辑:服务器直接连接到我的家用调制解调器,而不是路由器。我尝试连接的笔记本电脑恰好现在在同一网络上,但通过 wifi 路由器而不是物理连接到调制解调器。但情况并非总是如此。我希望能够从我的家庭网络之外访问服务器。
答案1
这里有两个问题,两个都问题涉及您的调制解调器。
首先,调制解调器本身具有可用的 SSH 访问权限。当然,它采用的是古老的密钥交换机制,这本身就存在安全风险,但我对此无能为力。当您从网络外部通过 SSH 连接到公共 IP 地址时,您就会访问到它 - 调制解调器的远程管理 shell。
检查调制解调器的管理界面是否有“远程管理”选项,看看其中是否有 SSH 选项。如果有,请禁用它。
其次,您指定的调制解调器不是似乎有“端口转发”选项。有时也被列为“NAT”。如果您的调制解调器没有端口转发功能,并且无法自定义从调制解调器外部进入的流量的路由方式,以将其路由到内部系统而不是直接接受调制解调器本身的连接,则无法访问调制解调器后面的服务器。
(我猜测“调制解调器”实际上是一个路由器,这很奇怪,但在消费市场上,调制解调器和路由器是相同的组合组件的情况并不罕见)