Ric*_*ard 12 remote-access ssh
我的问题是找到一种通过 SSH 连接到 IP 地址每天都在变化的 Linux 服务器(Ubuntu 18.04)的方法。
我有一个客户,我偶尔会帮助他处理管理任务。当他们需要帮助时,我需要通过 ssh 进入机器,但他们没有静态 IP,因此服务器的公共 IP 不断变化。我创建了一个小脚本来报告Linux机器的IP地址,发现它每天中午左右变化一次。
我能够设置 SSH,它可以在本地和远程工作......直到 IP 地址发生变化。一旦发生这种情况,即使使用新的 IP 地址,我也无法再进行远程连接。
更新
需要明确的是,我的问题不是找到新的 IP 地址。我已经有一个脚本可以做到这一点。问题是服务器在 IP 更改后停止响应,即使我尝试使用新 IP 地址进行连接。
如果我在目标机器上重新启动 SSH 服务,我又可以远程访问了。但我不明白为什么我必须这样做。我想知道根本原因,希望找到更好的解决方案。
大多数人似乎认为只要我们知道新 IP,SSH 就应该可以工作,那么这是 18.04 独有的吗?我最近为客户端安装了这个服务器,所以所有的配置设置仍然是默认的。(不知道怎么改。)
Gun*_*ohm 21
其他答案似乎忽略了您问题中的一件事:
一旦发生这种情况,即使使用新的 IP 地址,我也无法再进行远程连接
DDNS 将帮助您找到新的 IP 地址,但这似乎不是这里的问题。
不幸的是,在ISP 提供路由器的标准设置中,服务器获得新 IP应该不是问题,服务器在路由器后面有一个内部地址,路由器进行端口转发。您可能需要提供有关网络拓扑的更多信息才能得到好的答案。
我可以想象的是服务器不在路由器后面并进行自己的 PPPoE 连接,并且a) 在服务器重新启动时绑定到特定接口地址的 ssh 服务器,b) 机器上的防火墙允许传入的 ssh只是服务器的 IP 与防火墙不会在 IP 更改时更新。
要检查第一种情况,请执行netstat -nta | grep -w 22 | grep LISTEN
. 如果它说 0.0.0.0:22,那没关系;如果它列出了特定的 IP,则检查 sshd 配置文件 ( /etc/sshd.conf
) 中的ListenAddress
.
要检查第二种情况,请执行iptables -L -n
并检查INCOMING
链中的规则之一是否与您服务器的 IP 和端口 22 匹配。
如果其中之一具有当前服务器地址,您需要将其更改为 0.0.0.0(确保您了解安全隐患),或者在 IP 更改时更新规则/配置。
编辑
由于服务器在路由器后面,因此上述想法可能不适用(*)。在这个设置中,路由器有一个外部 IP(每天都在变化),你的内部设备应该有一些不应该改变的 10.xyz 或 192.168.xy 地址。你连接到外部地址,路由器应该有一个端口转发规则到内部地址。
当外部 IP 更改时,此端口转发不应中断(但是,现有的 ssh 连接将被丢弃),但也许这是一个不是您设置的规则,而是通过一些 UPNP 魔法,路由器在它到达时丢弃 UPNP 转发一个新地址,并且 sshd 仅在重新启动时调用该规则。您是否自己在路由器中设置了端口转发器。
或者,是服务器的内部IP 发生了变化——在这种情况下,您的 DHCP 会严重损坏。给你的服务器一个固定的内部地址。
或者,您使用的是 IPV6 吗?在某些配置中,设备不断更改其 IP 以使其不易跟踪。例如,请参阅https://www.internetsociety.org/blog/2014/12/ipv6-privacy-addresses-provide-protection-against-surveillance-and-tracking/ - 但在这种情况下,为你感到羞耻在您的原始帖子中提到它。这可能意味着您的路由器根本不进行 NAT,即使在路由器后面,我最初的想法仍然有效。
Joh*_*tes 11
动态 DNS 是一种选择,另一种选择是让服务器邮件或以其他方式向您发送它的 IP。一个简单的 HTTP 调用就可以了(到您控制和记录请求的端点)。
以相反的方式解决整个公共网络也是可能的;您可以让服务器设置反向隧道或 VPN 连接,它们不会受到 IP 更改的影响。
关于对新地址没有响应的服务:这完全取决于您的网络设置。例如:通过 DHCP 的内部接口上的 WAN IP 和设置为仅侦听启动时已知接口上的 IP 的 SSH 服务器意味着必须在接口更改时重新启动 sshd。
小智 7
您应该真正研究 ddns 服务。只要能够远程连接到具有动态IP地址的某台机器;ddns 是最常用的解决方案。
前往https://noip.com并注册一个帐户(它是,错误...据说..coff..cof .. 对在同一网络上运行的 1-3 台机器免费(如果我没有记错,请不要引用)我在这里:自从我信任这些“免费”服务中的任何一个以来已经有一段时间了......。还有其他替代方案,例如 Afraid DNS(https://freedns.afraid.org/ 甚至,思科的 Open DNS :也可以使用(如果这不是您唯一的客户,我建议您注册一个伞状帐户试用版,试用一下,然后再注册真正的交易 >>> 他们甚至得到了其中一个类似 GUI 的可下载扩展,它会在您的客户端 ip 更改时自动更新 ddns 主机名。这确实是我所知道的最简单的非技术精通方法[就在如果你必须打电话给你的一个客户并要求我下载 GUI 而不是......])
归档时间: |
|
查看次数: |
13981 次 |
最近记录: |