win10下用ssh做端口转发时因为localhost解析引起的失败 [操作系统入门]

编程

对于一个端口转发命令:

ssh -N -o "ServerAliveInterval 30" -R  30006:localhost:30006 [email protected]<remote-address>

这个命令的意思是将远程机器上的30006端口,映射到本地机器 localhost:30006的端口。这个命令在win7下面跑没有问题,但是win10下面跑,就总是不能成功。

加上-v -v -v参数查看ssh的输出日志,发现存在read failed, write failed等日志。后面通过网络搜索得到提示,是不是localhost的解析不对。

执行 ping localhost 命令,发现 localhost 解析成 ::1 这个ipv6地址,查看hosts(c:windowssystem32driveretchosts)文件,发现确实没有配置localhost的项,并且文件中有说明:

# localhost name resolution is handled within DNS itself.
#       127.0.0.1       localhost
#       ::1             localhost
先不管这些说明,直接在hosts文件中加上127.0.0.1 localhost,然后再执行ping localhost,发现仍然是解析成::1,说明这种方法不行。

最后干脆不管了,直接在上面ssh命令中,用127.0.0.1代替localhost,然后一些就正常了。

win10下用ssh做端口转发时因为localhost解析引起的失败

以上是 win10下用ssh做端口转发时因为localhost解析引起的失败 [操作系统入门] 的全部内容, 来源链接: utcz.com/z/519301.html

回到顶部