使用虚拟账户配置Bitvise SSH服务器
虚拟账户是在SSH服务器设置中创建的,只存在于SSH服务器中。它们是授予有限访问权限的首选账户类型,例如:
- 账户仅访问SSH服务器进行文件传输。
- 账户仅用于隧道访问服务器。
- 账户仅访问服务器以获取Git。
安全背景
主SSH服务器服务作为本地系统运行。它必须作为本地系统运行,才能登录Windows账户。然而,这也允许虚拟账户在多种安全环境中运行。
默认情况下,SSH服务器创建和管理本地Windows账户BvSsh_VirtualUsers,以为虚拟账户提供安全环境。当虚拟账户登录SSH服务器时:
- 服务连接的SSH会话线程运行在BvSsh_VirtualUsers的安全上下文中。
- SSH 会话启动的任何子进程都运行在 BvSsh_VirtualUsers 的安全上下文中。
子进程包括SSH服务器的SFTP子系统;以及用户发起的任何终端壳或执行请求。使用虚拟账户登录时,所有此类进程都在提供虚拟用户安全上下文的Windows账户的安全上下文中启动,并根据其Windows权限运行。
建议:
- 不要尝试更改密码BvSsh_VirtualUsers。SSH服务器将其设置为复数随机值,并在运行过程中定期重置。
- 不要删除或禁用BvSsh_VirtualUsers账户。如果没有配置虚拟账户,它会自动被禁用。
- 请确保BvSsh_VirtualUsers拥有访问你希望虚拟用户访问的文件和目录所需的Windows文件系统权限。
虚拟账户的安全环境变化
虚拟账户通常不需要更改安全上下文。然而,当虚拟账户需要访问网络资源时,它可能非常有用。如果网络共享需要Windows域用户的凭证才能访问,虚拟账户可以通过配置域账户作为安全上下文,隐式获得访问权限。
虚拟账户的安全上下文可在高级SSH服务器设置中更改:

这显示了虚拟组设置条目中安全上下文的配置,作为多个虚拟账户的默认设置。该设置也可以在虚拟账户设置中单独配置,针对该账户单独进行。
在将Windows账户设置为虚拟账户的安全上下文后,将该Windows账户的密码添加到SSH服务器的密码缓存中:
如果忘记了这一步,虚拟用户仍然可以登录,但SSH服务器无法为该有网络资源访问权限的Windows账户创建登录会话,且对这些资源的隐式访问权限将失败。
Windows 配置文件加载
如果你打算大量使用 Bitvise SSH 服务器,无论是在 Windows 还是虚拟账户上,请注意:
- 有几个SSH服务器设置可能导致用户的Windows配置文件作为SSH会话登录的一部分被加载。
- 为Windows域名账户加载配置文件可能需要较长时间,导致SSH登录延迟。
- 大多数Windows版本;包括当前的桌面和服务器版本;包含一个明显的操作系统问题,导致Windows在加载大量配置文件后内核内存耗尽。
- 当Windows内存耗尽时,无法加载新的配置文件,SSH会话也无法正常工作。必须重启Windows才能恢复功能。
- Windows配置文件有时会损坏。然后需要重新创建配置文件以恢复功能。
为避免此问题,请不要启用可能导致Windows配置文件加载的设置。这些设置在我们的SSH服务器使用常见问题Q260中有详细说明。
对于访问终端壳层或执行执行请求的会话,无法禁用Windows配置文件加载。终端壳和执行请求运行第三方软件,可能需要Windows配置文件才能正常工作。
这主要影响那些每天可能加载数百甚至数千个Windows配置文件的安装。每天会话数为两位数且可能加载配置文件的安装通常不会注意到问题。
原创文章,作者:云东方,如若转载,请注明出处:https://www.yundongfang.com/Yun1053.html
