ssh 小技巧-端口转发
source link: https://nicksxs.me/2023/03/26/ssh-%E5%B0%8F%E6%8A%80%E5%B7%A7-%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
ssh 小技巧-端口转发
我们在使用 ssh 连接的使用有一个很好用功能,就是端口转发,而且使用的方式也很多样,比如我们经常用 vscode 来做远程开发的话,一般远程连接就可以基于 ssh,前面也介绍过 vscode 的端口转发,并且可以配置到 .ssh/config 配置文件里,只不过最近在一次使用的过程中发现了一个问题,就是在一台 Ubuntu 的某云服务器上想 ssh 到另一台服务器上,并且做下端口映射,但是发现报了个错,
bind: Cannot assign requested address
查了下这个问题,猜测是不是端口已经被占用了,查了下并不是,然后想到是不是端口是系统保留的,
sysctl -a |grep port_range
net.ipv4.ip_local_port_range = 50000 65000 -----意味着50000~65000端口可用
发现也不是,没有限制,最后才查到这个原因是默认如果有 ipv6 的话会使用 ipv6 的地址做映射
所以如果是命令连接做端口转发的话,
ssh -4 -L 11234:localhost:1234 x.x.x.x
使用-4
来制定通过 ipv4 地址来做映射
如果是在 .ssh/config
中配置的话可以直接指定所有的连接都走 ipv4
Host *
AddressFamily inet
inet
代表 ipv4,inet6
代表 ipv6
AddressFamily 的所有取值范围是:”any”(默认)、”inet”(仅IPv4)、”inet6”(仅IPv6)。
另外此类问题还可以通过 ssh -v
来打印更具体的信息
- 本文作者: Nicksxs
- 本文链接: https://nicksxs.me/2023/03/26/ssh-小技巧-端口转发/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK