标签:sts system 日志 etc inter ssh命令 host name live -o
对于一个端口转发命令:
ssh -N -o "ServerAliveInterval 30" -R 30006:localhost:30006 root@<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,然后一些就正常了。
win10下用ssh做端口转发时因为localhost解析引起的失败
标签:sts system 日志 etc inter ssh命令 host name live -o
原文地址:https://www.cnblogs.com/csmountains/p/13519334.html