限制虚拟机登录的核心思路是从账号认证、网络来源、登录方式三个层面同时收紧,优先修改默认账号策略,再结合系统自带防火墙或组策略完成。
虚拟机怎么限制特定用户登录:账号层配置先做好
虚拟机登录限制最常见的一个需求,就是只允许指定人员使用虚拟机,其他人一律拒绝,很多公司测试环境、财务专用虚拟机、外包人员隔离机都需要这样处理,不同操作系统配置路径差异较大,但底层逻辑一致。
Windows虚拟机仅允许特定用户本地登录
在Windows虚拟机内部,限制本地登录最直接的工具是“本地安全策略”。
- 按下
Win+R,输入secpol.msc回车。 - 展开 安全设置 -> 本地策略 -> 用户权限分配。
- 双击 允许本地登录,默认情况下可能包含
Administrators、Backup Operators、Users等组。 - 移除
Users组,只保留管理员组和需要登录的特定用户。
如果特定用户不在列表中,点击 添加用户或组,输入域账号或本机账号名。 - 双击 拒绝本地登录,添加
Everyone或Guests,并同时移除你希望登录的账号。
拒绝策略优先级高于允许策略,所以这一项配置要特别小心,避免把自己也锁在门外。
对于远程桌面登录,可以使用“远程桌面用户”组进行控制,通过 lusrmgr.msc 打开本地用户和组,找到 Remote Desktop Users 组,只添加需要远程登录的用户即可,命令行方式如下:
net localgroup "Remote Desktop Users" your_user /add
net localgroup "Remote Desktop Users" other_user /delete
Linux虚拟机仅允许特定用户SSH登录
Linux虚拟机多数情况下通过SSH远程管理,限制特定用户登录,主要修改 /etc/ssh/sshd_config。
- 打开配置文件:
sudo vi /etc/ssh/sshd_config - 在文件末尾添加:
AllowUsers alice bob@192.168.10.0/24
AllowGroups sshusers
DenyUsers root
DenyGroups nogroup
AllowUsers 支持 用户@来源IP段 的格式,这意味着可以同时做到账号限制和来源限制。
保存后重启SSH服务:
sudo systemctl restart sshd
配置完成后,不在 AllowUsers 列表中的用户会直接收到认证失败提示,即使输入正确密码也无法登录。
公司测试环境虚拟机只允许特定IP登录的方法
很多公司内部测试环境虚拟机需要开放给开发人员,但只允许办公网或指定网段访问,如果直接暴露在默认网络里,任何内网设备都可能尝试登录,这个场景下,虚拟机只允许特定IP登录属于网络层限制,比单纯改账号策略更安全。
Windows虚拟机通过防火墙限制远程桌面来源IP
Windows远程桌面默认监听TCP 3389端口,可以借助Windows Defender防火墙收缩访问范围。
- 打开 高级安全 Windows Defender 防火墙。
- 点击左侧 入站规则,找到 远程桌面 – 用户模式(TCP-In)。
- 右键选择 属性 -> 作用域 选项卡。
- 在 远程IP地址 中选择 下列IP地址,点击 添加。
- 输入允许访问的IP段,
168.50.0/24,确定保存。
配置后,只有来自该网段的设备能够连接3389端口,其他来源的请求会被防火墙直接丢弃。
Linux虚拟机通过firewalld限制SSH来源IP
Linux虚拟机使用 firewalld 同样可以做到来源限制,以下命令允许 168.50.0/24 网段访问SSH端口:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.50.0/24" port port="22" protocol="tcp" accept'
sudo firewall-cmd --reload
如果只想让某一台跳板机访问,可以直接写具体IP地址:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.50.10" port port="22" protocol="tcp" accept'
还要移除默认放行SSH的普通规则,否则富规则会被绕过,先执行:
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload
这样SSH只接受富规则中指定的来源,其他来源全部拒绝。
VMware ESXi和vCenter管理登录限制
如果是限制虚拟机宿主机的管理登录,VMware ESXi主机和vCenter的管理控制台也可以配置来源限制,但这部分一般在企业IT部门统一管理,以ESXi为例,登录Host Client后,进入 管理 -> 系统 -> 高级设置,可以调整 Security.AccountLockFailures 和 Security.AccountUnlockTime 两项参数。
vmware虚拟机登录密码设置方法与锁定策略
很多人容易把VMware管理密码和虚拟机内部系统密码搞混,VMware Workstation或ESXi本身只负责虚拟硬件,虚拟机内部系统密码仍要在系统中设置。
VMware虚拟机内部登录密码设置步骤
- Windows虚拟机:进入系统后,打开 设置 -> 账户 -> 登录选项,在 密码 区域点击 添加 或 更改,也可以使用
Ctrl+Alt+Del选择 更改密码。 - Linux虚拟机:打开终端,执行
passwd 用户名,输入两次新密码即可,例如修改root密码:sudo passwd root。 - VMware ESXi主机管理密码:在DCUI界面或vCenter中修改,不推荐频繁变更,ESXi默认账号为
,修改后需重启管理代理。root
Windows虚拟机登录锁定策略配置
登录锁定策略用于防止暴力破解,多台Windows虚拟机可以通过组策略统一配置。
- 打开
gpedit.msc。 - 依次进入 计算机配置 -> Windows设置 -> 安全设置 -> 账户策略 -> 账户锁定策略。
- 双击 账户锁定阈值,设置为
5次无效登录后锁定。 - 双击 账户锁定时间,设置为
30分钟。 - 双击 重置账户锁定计数器,设置为
30分钟。
上述配置的含义是:连续输入5次错误密码,账号锁定30分钟,阈值不宜设置过小,否则容易被误操作人为锁定。
Linux虚拟机登录锁定策略配置
Linux虚拟机使用PAM模块实现登录失败锁定,以CentOS/RHEL系列为例,编辑 /etc/pam.d/system-auth 或 /etc/pam.d/password-auth,在文件靠前位置加入以下内容:
auth required pam_faillock.so preauth silent audit deny=5 unlock_time=1800
auth sufficient pam_unix.so nullok try_first_pass
auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=1800
account required pam_faillock.so
保存后,登录失败达到5次,账号会锁定1800秒,查看当前锁定状态:
sudo faillock --user alice --reset
如果不需要立即解锁,可以执行 faillock --user alice 查看失败次数,行业共识认为,登录锁定策略是应对暴力破解性价比最高的基础手段之一,几乎不增加系统负载。
linux虚拟机限制root远程登录的对比配置
Linux虚拟机默认允许root通过SSH远程登录,这是很多安全审计中的高风险项,限制root远程登录有两种主流配置方式,适用场景不同。
| 配置方式 | 配置文件 | 配置项 | 安全性 | 适用场景 |
|---|---|---|---|---|
| 完全禁用root远程登录 | /etc/ssh/sshd_config |
PermitRootLogin no |
高 | 生产环境、等保整改 |
| 仅禁止密码登录 | /etc/ssh/sshd_config |
PermitRootLogin prohibit-password |
较高 | 需要root密钥登录的场景 |
| 使用PAM限制 | /etc/pam.d/sshd |
auth required pam_listfile.so |
中 | 需要临时允许特定root来源 |
完全禁用root远程登录
编辑 /etc/ssh/sshd_config:
PermitRootLogin no
保存后执行:
sudo systemctl restart sshd
此时root用户无法再通过SSH登录,普通用户可以使用 su - 或 sudo 提权,这是最彻底的配置,但日常维护会多一步切换操作。
仅禁止root密码登录
PermitRootLogin prohibit-password
这种配置下,root只能使用密钥登录,密码登录被拒绝,适合团队内部保留少量运维通道,又不想完全切断root远程访问的情况。
使用PAM限制特定终端来源
如果只想禁止root从非跳板机登录,可以在 /etc/pam.d/sshd 中配置:
auth required pam_listfile.so item=user sense=deny file=/etc/ssh/deniedusers onerr=succeed
然后将 root 写入 /etc/ssh/deniedusers,不过SSH层面已经可以通过 AllowUsers root@跳板机IP 实现更精细控制。
虚拟机登录限制方案成本与效果对比
很多中小企业关心虚拟机登录限制要不要额外付费,系统自带的防火墙、组策略、PAM模块、SSH配置都是免费且成熟的方案,可以覆盖多数基础需求,只有需要在多台服务器上集中管理、审计录屏、自动改密时,才需要考虑商业堡垒机或运维安全管理系统。
| 方案 | 初始成本 | 维护难度 | 登录限制能力 | 审计能力 |
|---|---|---|---|---|
| 系统自带策略 | 几乎为零 | 低 | 账号/IP/锁定 | 较弱 |
| 开源跳板机 | 较低 | 中 | 集中授权 | 一般 |
| 商业堡垒机 | 较高 | 低 | 细粒度授权 | 强 |
业内专家指出,虚拟机登录限制不必一开始就上商业堡垒机,先用系统原生能力封住账号和网络来源,反而更容易在短时间内落地,待资产规模变大、合规要求提高后,再逐步引入集中管理工具。
虚拟机登录限制常见问题
虚拟机登录限制后忘记管理员密码怎么恢复
如果Windows虚拟机因策略配置错误导致所有管理员都进不去,可以挂载PE镜像启动,使用密码重置工具清除密码,Linux虚拟机可以在GRUB启动菜单进入单用户模式,执行 passwd root 重置,VMware环境下还可以通过挂载系统ISO进入救援模式处理。
虚拟机登录限制会影响远程桌面性能吗
不会,账号策略和防火墙来源限制只在建立连接前做判断,不参与后续数据转发,锁定策略同样只在认证失败时计数,正常登录后对性能没有可感知影响。
虚拟机登录限制与虚拟机快照有冲突吗
没有冲突,快照记录的是虚拟机磁盘和内存状态,登录限制配置保存在系统文件或配置文件中,两者互不影响,恢复快照后,登录限制会回到快照创建时的状态,如果后续改过策略,需要重新检查配置。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/636191.html





