![如何在 OSX 上更改我的 SSH *传出*端口?](https://linux22.com/image/1266659/%E5%A6%82%E4%BD%95%E5%9C%A8%20OSX%20%E4%B8%8A%E6%9B%B4%E6%94%B9%E6%88%91%E7%9A%84%20SSH%20*%E4%BC%A0%E5%87%BA*%E7%AB%AF%E5%8F%A3%EF%BC%9F.png)
尝试ssh -p 51685
似乎会改变我尝试连接的端口,而不是我的传出端口。
就像编辑一样ssh_config
。
我想将我的传出端口从 22(已被阻止)更改为 51685。
有任何想法吗?
答案1
传出连接不使用固定端口分配,而是选择一个可用的端口号,通常高于 1024。更重要的是,除非你以 root 身份运行(管理员用户帐户,在 OSX 上默认禁用),否则你不能在端口 22 上打开传出连接,因为只有 root 才被允许打开 1024 以下的任何端口。因此,如果你正在运行ssh
但当时不是 root 身份,那么你肯定不是使用端口 22 进行传出连接。
无论您遇到什么问题,您都没有正确判断其原因。
答案2
您确定被过滤的是源端口吗?客户端通常使用任意源端口(介于 1024 和 65535 之间),而不是协议分配的端口,并且如果您的连接在您和服务器(或执行阻止的设备)之间的途中经过任何 NAT 安排,则原始源端口无论如何都会“丢失”,因此基于源端口的过滤通常不是很有用。
例如,我刚刚使用 PuTTY 和 OpenSSH 与我的一台服务器建立了 fwe 连接,wireshark 告诉我连接的源端口是 6525、6535、6560 和 6562。