您需要能够登录同一网段上的另一台主机。获得对配置错误的主机的访问权限的某些方法需要在中间主机上具有root用户权限,但是也有一种简便的方法,无需在中间主机上具有root用户即可获得访问权限。
使用IPv6访问主机的简单方法
ssh -o ProxyCommand='ssh -W [fe80::42:ff:fe:42%%eth0]:%p user@intermediate-host' root@target-server
在上面的命令需要下面的示例值与正确的值被替换为你的使用情况:fe80::42:ff:fe:42
,eth0
,user
,intermediate-host
,和target-server
。
有关其工作原理的详细说明
ProxyCommand
是无法直接打开与目标主机的TCP连接时使用的ssh功能。参数to ProxyCommand
是要使用其stdin / stdout而不是TCP连接的命令。
-W
用于打开单个端口转发并将其连接到stdin / stdout。这很适合与ProxyCommand
。
fe80::42:ff:fe:42%%eth0
是目标主机的本地链接地址。请注意,由于ProxyCommand
使用%
作为转义字符,类型化的ssh命令必须使用%%
在该位置。您可以通过运行在段上找到所有本地链接的地址ssh user@intermediate-host ping6 -nc2 ff02::1%eth0
。
为此目的,使用IPv6链接本地地址通常是最简单的方法,因为在所有现代系统上默认都启用了该地址,即使IPv4和IPv6堆栈都严重配置错误,链接本地地址也可以正常工作。
退回到IPv4
如果在配置错误的主机上完全禁用了IPv6(绝对不建议这样做),那么您可能不得不求助于使用IPv4。由于IPv4没有链接本地地址,因此IPv6会使用IPv4访问配置错误的主机变得更加复杂,并且需要对中间主机进行root访问。
如果配置错误的主机仍然能够使用其默认网关,则可以从外部访问它。可能由于网关拒绝使用网络掩码覆盖的前缀之外的网关,因此配置错误的网络掩码也破坏了默认网关。如果确实如此,则配置错误的主机将只能与192.168.1.8通信,因为这是该配置错误的主机当前可访问的子网中唯一的其他IP地址。
如果您在192.168.1.8上登录,则可能只能从那里SSH到192.168.1.9。如果当前未分配192.168.1.8,则可以将其临时分配给您具有root访问权的网段上的任何主机。
fe80::42:ff:fe:42
是...的地址吗?我猜我配置错误的服务器?