打开Bitvise SSH服务器以从互联网访问
入门的这一部分假设:
- 你最近安装了Bitvise SSH服务器。
- 你已经了解过SSH服务器在Windows账户和虚拟账户中的应用。
- 你已经按照自己的方式配置了Windows或虚拟账户;也许用于Git访问,或者用于文件传输。
- 你已经通过SSH客户端验证了设置是否正常,之前你已经在同一台电脑上安装了SSH客户端。
验证账户限制
在你打开SSH服务器从互联网访问之前:
- 确认你的设置没有让你访问不想登录的账户。
- 确认拥有登录权限的账户无法访问你不希望他们访问的SSH部分。
- 用于文件传输的账户在大多数情况下不应访问端口转发或开放式终端壳。
- 用于端口转发的账户在大多数情况下应限制其能到达的目的地。
- 用于Git访问的账户在大多数情况下不应使用文件传输或端口转发。
我们建议使用运行在运行SSH服务器同一台计算机上的SSH客户端进行这些检查。
客户端与服务器端口号
以下图展示了空闲服务器上的监听套接字。SSH服务器正在运行,并已配置为接受端口47506的连接:

请注意端口47506的两个条目:
- 监听接口0.0.0.0,端口47506。地址 0.0.0.0 表示 SSH 服务器接受该套接字上来自任意 IPv4 地址的连接。
- 接口[:]的监听插槽,端口47506。地址 [:] 表示 SSH 服务器会接受来自任何 IPv6 地址的该套接字连接。
现在,考虑这个输出,显示了一个活跃连接:

通知:
- 已建立的连接由两对IP地址+端口号对标识。
- 有服务器的地址和端口组合。在这种情况下,地址是192.168.2。105,端口47506。
- 有客户端的地址和端口组合。在这种情况下,地址是192.168.2。126号,左舷51344号。
当我们讨论互联网连接端口时,几乎总是想到服务器端端口。这里是端口47506。如果SSH服务器设置为监听默认SSH端口,那就是22端口。这是SSH客户端连接的端口。这必须是一个客户端已知的静态(不变)端口号。
这张截图中还有另一个端口,端口51344。这是SSH客户端连接的客户端端口。在几乎所有情况下,这个端口号都无关紧要且被忽略。虽然可以记录,但具体数值对服务器、防火墙和路由器无关紧要。
客户端端口号存在的唯一原因是识别特定的TCP连接。如果没有这个编号,就无法区分同一服务器、同一客户端的多个连接。
客户端端口号几乎总是任意的端口号,由客户端操作系统为连接选择。
待开港口
在大多数情况下,SSH服务器只需在进站方向开启一个端口。这是你为SSH服务器设置的端口号,用于接受连接。
- 对于文件传输、终端壳和远程命令执行,SSH服务器监听的那个端口是唯一需要打开的端口。
- 对于客户端到服务器的端口转发,通常仍不需要开启任何额外的端口。对于出站连接,防火墙默认允许任意目的地。
- 对于服务器到客户端(反向)端口转发,只有当隧道连接将从运行SSH服务器的计算机以外的计算机发起时,才需要开启额外的端口。
Windows防火墙
我们不建议禁用Windows防火墙。Windows 防火墙对你的 Windows 安装安全至关重要,应该启用。我们不建议即使测试时也禁用它。
我们不推荐第三方产品替代Windows防火墙。然而,使用此类第三方替代品是唯一需要禁用Windows防火墙的情况。
SSH服务器可以配置为自动管理Windows防火墙。简单设置:

- 如果SSH服务器配置为自动管理Windows防火墙,它将依赖Windows防火墙服务。SSH服务器服务要等到Windows防火墙服务启动后才会启动。启动SSH服务器也会启动Windows防火墙服务。
- 如果SSH服务器配置为不管理Windows防火墙,它就不会依赖Windows防火墙。SSH服务器服务将不会启动Windows防火墙服务。
路由器
在家庭或小型办公室环境中,你很可能会通过支持UPnP的路由器连接到互联网。在这种情况下,你可以指示SSH服务器自动配置路由器,使其能够接收来自互联网的连接:

在组织环境中,UPnP不太可能被使用。在这种情况下,请联系你的网络管理员,配置任何路由器和/或防火墙,以便让你的SSH服务器能够从互联网访问。
高级设置
在高级SSH服务器设置中,可以:
- 配置SSH服务器接受多个端口的连接。
- 分别配置IPv4和IPv6的监听设置。
- 配置SSH服务器在特定接口监听(而不是所有接口)。
- 配置SSH服务器在特定端口或接口使用混淆。

我们建议仅在高级设置中配置监听端口,前提是你想要的监听配置在简单设置中不支持。
混淆
当SSH服务器的监听端口启用混淆时:
- 除非客户端也支持混淆,并且配置了相同的混淆关键字,否则无法连接到该端口。
- 观察者更难识别所使用的协议是SSH。
- 强烈不鼓励盲目猜测密码,因为必须先猜出混淆关键词。
Bitvise SSH 服务器和客户端实现的混淆协议是混淆-openssh。这与其他混淆协议(如obfs4)不兼容。
原创文章,作者:云东方,如若转载,请注明出处:https://www.yundongfang.com/Yun1101.html