win10下用ssh做端口转发时因为localhost解析引起的失败
对于一个端口转发命令:
ssh -N -o "ServerAliveInterval 30" -R 30006:localhost:30006 <remote-address>
这个命令的意思是将远程机器上的30006端口,映射到本地机器 localhost:30006的端口。这个命令在win7下面跑没有问题,但是win10下面跑,就总是不能成功。
加上-v -v -v参数查看ssh的输出日志,发现存在read failed, write failed等日志。后面通过网络搜索得到提示,是不是localhost的解析不对。
执行 ping localhost 命令,发现 localhost 解析成 ::1 这个ipv6地址,查看hosts(c:\windows\system32\driver\etc\hosts)文件,发现确实没有配置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,然后一些就正常了。
相关推荐
farwang 2020-08-25
ThinkBigWinBig 2020-06-13
Wytheme 2020-06-11
xuezhengyyy 2020-02-15
huangzonggui 2020-01-30
sansan 2020-01-10
iOS开发笔记 2013-06-09
lyrgwlr 2019-12-03
RayDon 2015-05-20
85281245 2019-10-29
OwenJi 2019-11-01
wangkeIDC 2019-08-09
wvfeng 2020-04-16
LiHansiyuan 2020-06-06
yongzhang 2020-05-04
wintelx 2020-04-20
OwenJi 2020-03-01
85407718 2020-02-26