内容来自:《VirtualBox实战讲学录--小耗子之VirtualBox修炼全程重现》
一、前言
1.要想使用vrdp连接guest os(虚拟机),需要两个前提条件。
1.1 连接虚拟机的客户端能够访问host os(安装虚拟机的主机)
1.2 host os中的virtualbox安装了扩展包。进入官网下载对应的 Extensions Packs,然后virtualbox主页面点击管理-->全局设定-->扩展。导入扩展包即可
2.对于vrdp的连接安全,提供三种解决方案:Null、External、Guest。
2.1Null认证方式最不安全,无密码通过vrdp服务连接虚拟机
2.2 External分为两种,第一种是采用物理机的OS提供的认证模块进行认证;第二种是采用“虚拟用户”的认证方式对虚拟机进行认证
2.3 Guest认证方式Virtualbox还没有开发完毕(摘自书中),就是根据Virtualbox中不同虚拟机的的系统类型进行认证。
——特别说明:不同的操作系统有不同的认证模块。如windows有winlogon,Linux采用的认证模块pam
3.对于vrdp提供的不同的认证方式,按照库程序分类,有两种库程序:vboxauth,vboxauthsimple。其中Null和External(第一种)都是属于vboxauth库程序的控制范畴;而External(第二种)属于vboxauthsimple库程序的控制范畴;virtualbox默认采用vboxauth。
二、Null模式配置
-
查看host os(主机)的ip地址
2.查看扩展包是否安装
查看路径:打开Vritualbox Manager(也就是打开virtualbox软件)-->管理-->全局设定-->扩展
如图:如果出现绿色的对号,说明安装成功。
如果没有安装:在virtualbox官网下载扩展包,进入刚才的查看路径进行添加。
3.切换到常规选项卡,看到virtualbox默认的认证库为vboxauth,也是null模式需要的认证库程序
4.在安装的虚拟机列表中,右击需要使用vrdp服务的虚拟机-->设置-->显示-->远程桌面,配置如下:
注:为避免和主机的远程桌面端口发生冲突,服务器端口号不要选择3389
5.启动刚才配置的虚拟机,菜单栏点击控制-->运行状态,查看刚才配置远程桌面服务信息
6.使用主机的mstsc进行连接,验证配置
tcp会话信息
- 由于vrdp服务只和主机ip,是否安装扩展包有关。所以可能将虚拟机添加网卡去掉,同样可以vrdp服务登录虚拟机。
三、通过External(第一种)验证VRDP(win10)
1.检查是否安装扩展包
注:vboxmanage是以命令行形式管理virtualbox的工具,建议配置环境变量,否则找不到路径
2.确定virtualbox的vrdp认证库是否是vboxauth。查看方式如上
3.使用windows的taskmgr管理器查看winlogon进程是否存在
win10显示的是win登录应用程序
4.在主机上建立一个登录用户,vbox/virtualbox
注:以管理员方式打开cmd
5.配置虚拟机vrdp的认证方式
6.验证失败
暂时未找到原因
三、External(第二种)认证vrdp
1.打开virtualbox,选择管理-->全局认定-->常规-->vrdp认证库选择其他-->定位到virtubox的安装目录,选择VboxAuthSimple.dll。
配置成功截图:
-
在虚拟机关闭的情况下,选中虚拟机,右击虚拟机-->设置-->显示-->远程桌面
3.使用vboxmanage生成虚拟用户vboxme/virtualbox
3.1计算密码的hash值
vboxmanage internalcommands passwordhash "<password>"
3.2将虚拟用户vboxme写入虚拟机的配置文件
vboxmanage setextradate "<vm_name>" "VBoxAuthSimple/users/<user_name>" "<passwordhash>"
4.使用mstsc进行登录验证
第一次登录容易遇到问题,我这里的选项和书中不一致,需要选中“允许我保存依据”。然后输入用户名/密码登录。
下面是第二次登录的截图:
登录失败截图:
5.刚刚增加的虚拟用户配置信息,可以在虚拟机的存放目录的*.vbox文件中查看