CBSD bhyve Ubuntu 配置vnc登录管理

CBSD介绍

CBSD是为FreeBSD jail子系统、bhyve、QEMU/NVMM和Xen编写的管理层。该项目定位为一个综合解决方案的单一集成工具,用于使用预定义的软件集以最少的配置快速构建和部署计算机虚拟环境。
虽然CBSD没有提供额外的操作系统级功能,但它极大地简化了原本需要用户通过命令行界面(CLI)手动执行数十甚至数百个命令的复杂过程。CBSD的存在正是为了解决这一繁琐任务,让人能够更高效、更便捷地管理您的虚拟化环境,而非陷入无休止的命令行操作中。

官网:CBSD — FreeBSD Jail and Bhyve Management Tools

进入管理界面

在FreeBSD 宿主机里面,使用cbsd bconfig命令进入管理界面

cbsd bconfig

选择需要管理的bhyve主机,按确认即可。

首先vm_efi 这里一定要设为 uefi ,否则不能使用vnc管理。

然后菜单选择bhyve_vnc_options ,即可进入vnc设置子菜单。

VNC设置

设置VNC监听端口vm_vnc_port:

vm_vnc_port设为0 ,则CBSD自动设定可以使用的端口号

vm_vnc_port设为1,则CBSD不打开VNC的端口

vm_vnc_port设为其它数值,就把该数值作为VNC服务的端口号。

设置VNC密码

可以在管理界面设置vnc密码,也可以在配置文件里设置vnc密码。

VNC的密码在文件:~cbsd/etc/defaults/vnc.conf

个人密码文件在:~cbsd/etc/vnc.conf

(这里应该是初始配置的默认密码,建好的bhyve虚拟机的vnc密码应该存放在虚拟机存档目录,类似/usr/jails/vm/bub12/bhyve.conf)

修改创建虚拟机时的默认密码

比如将/usr/jails 设为cbsd根目录,那么文件默认配置文件 /usr/jails/etc/defaults/vnc.conf ,其中设置密码为:

default_vnc_password="cbsd"
 

不建议修改默认配置文件,如果需要修改,我们可以使用etc/vnc.conf文件,比如我们touch一个文件

/usr/jails/etc/vnc.conf

文件中加入密码:

default_vnc_password='test'

也可以使用命令直接生成:

echo default_vnc_password='test' > /usr/jails/etc/vnc.conf

在虚拟机存盘文件中修改密码

 修改虚拟机存档文件目录里的配置文件:/usr/jails/vm/bub12/bhyve.conf

vm_vnc_port='5901'vnc_password="123"

设置bhyve_vnc_tcp_bind侦听ip

为了安全,默认只支持127.0.0.1 本地地址登录vnc,可以设置bhyve_vnc_tcp_bind参数,将其设为0.0.0.0, 这样就能支持网络登录了。

关于CBSD bhyve 虚拟机的配置文件

发现CBSD的配置文件在如下三个地方:

其一在/usr/local/cbsd/etc

其二在 /usr/jails/etc/

其三在 /usr/jails/vm/bub12

根据手册,感觉/usr/local/cbsd/etc是创建虚拟机时调用的参数存档,/usr/jails/vm/bub12 是单独bub12这个虚拟机的存档文件所在。

进行测试,在/usr/local/cbsd/etc加入vnc.conf文件 ,文件内容:

default_vnc_password='test'

远程登录,还是密码错误(后来知道这些文件的区别,并且设置生效需要重启虚拟机)

调试操作

因为刚开始怎么设置都不生效,于是尝试给vnc换端口

给vnc换一个端口,比如5901

到cbsd bhyve设置菜单里,设置vnc端口为5901,密码为123 。

但是退出菜单后发现端口并没有更新,还是5900

tcp4       0      0 *.5900                 *.*                    LISTEN

pf防火墙打开5901端口

首先到/etc/pf.conf文件里,防火墙放开5901

tcp_services = "{ ssh, smtp, domain, www, pop3, auth, pop3s,443,5900, 5901 }"

重启pf服务,重启命令:

service pf restart

尝试重启bhyve 虚拟主机

cbsd brestart bub12

重启后,打印出监听5901端口和密码,问题解决。

查看bhyve虚拟机配置文件

事实证明,前面的配置文件都没有起作用。经过查找,发现bub12这台虚拟机的配置文件在这里:

/usr/jails/vm/bub12/bhyve.conf

里面有vnc端口、口令等信息

vm_vnc_port='5901'bhyve_generate_acpi='1'
bhyve_wire_memory='0'
bhyve_rts_keeps_utc='0'
bhyve_force_msi_irq='0'
bhyve_x2apic_mode='0'
bhyve_mptable_gen='1'
bhyve_ignore_msr_acc='0'cd_vnc_wait="1"
bhyve_vnc_resolution="1024x768"
bhyve_vnc_tcp_bind="0.0.0.0"vnc_password="123"

总结:

CBSD里修改bhyve的VNC 端口和密码,需要重启bhyve虚拟机。

配置文件在bhyve虚拟机的存档目录里,即:/usr/jails/vm/bub12/bhyve.conf

调试

到VNC里修改配置,设为5901端口,但是退出后发现端口并没有监听。

这样证明配置并没有起作用,那么修改口令应该也没有起作用。

tcp4       0      0 *.5900                 *.*                    LISTEN

重启cbsd bhyve服务:

cbsd brestart bub12
cbsd brestart bub12 
Send SIGTERM to bub12. Soft timeout is 30 sec. 13 seconds left [................Send SIGTERM to bub12. Soft timeout is 30 sec. 12 seconds left [................Send SIGTERM to bub12. Soft timeout is 30 sec. 11 seconds left [................Send SIGTERM to bub12. Soft timeout is 30 sec. 10 seconds left [................Send SIGTERM to bub12. Soft timeout is 30 sec. 9 seconds left [.................Send SIGTERM to bub12. Soft timeout is 30 sec. 8 seconds left [.................Send SIGTERM to bub12. Soft timeout is 30 sec. 7 seconds left [.................Send SIGTERM to bub12. Soft timeout is 30 sec. 6 seconds left [.................Send SIGTERM to bub12. Soft timeout is 30 sec. 5 seconds left [.................Send SIGTERM to bub12. Soft timeout is 30 sec. 4 seconds left [.................Send SIGTERM to bub12. Soft timeout is 30 sec. 3 seconds left [.................Send SIGTERM to bub12. Soft timeout is 30 sec. 2 seconds left [.................Send SIGTERM to bub12. Soft timeout is 30 sec. 1 seconds left [.................Send SIGTERM to bub12. Soft timeout is 30 sec. 0 seconds left [..............................]
bstop done in 16 seconds
VRDP is enabled. VNC bind/port: 192.168.1.5:5901
For attach VM console, use: vncviewer 192.168.1.5:5901
Resolution: 1024x768.
VNC pass: 123Warning!!! You are running a system with open VNC port to the world wich is not secure
Please use IP filter or balancer with password to restrict VNC port access
Or change vnc_bind params to 127.0.0.1 and reboot VM after maintenance workbhyve renice: 1
Waiting for PID.
PID: 87023
CBSD setup: bhyve ipfw counters num: 103/104
bstart done in 7 seconds

发现监听端口变了,口令也打出来了。

事实证明改完口令、端口这些参数,需要重启bhyve 虚拟机才能生效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/381009.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fatal: not a git repository (or any of the parent directories): .git

问题描述: 通过git pull 拉取代码提示: fatal: not a git repository (or any of the parent directories): .git 这个错误信息表明你当前所在的目录不是一个 Git 仓库,或者任何父目录中都没有 .git 目录。 问题解决: 确认当前目…

Windows 、Linux、MacOS 进程管理机制

本心、输入输出、结果 文章目录 Windows 、Linux、MacOS 进程管理机制前言Windows 进程管理机制Linux 进程管理macOS 进程管理内存不够了,几个操作系统如何处理Windows 、Linux、MacOS 进程管理机制 编辑 | 简简单单 Online zuozuo 地址 | https://blog.csdn.net/qq_15071263 …

<数据集>混凝土缺陷检测数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:7353张 标注数量(xml文件个数):7353 标注数量(txt文件个数):7353 标注类别数:6 标注类别名称:[exposed reinforcement, rust stain, Crack, Spalling, Efflorescence…

JavaSE从零开始到精通

1.前置知识 JVM:java virtrual machine, java虚拟机, 专门用于执行java代码的一款软件。可以将class文件,转换为机器认识的机器码,因为我们的计算机只认识010101的二进制语言。JRE:java runtime enviroment, java运行时环境, jav…

CMake生成Debug和Release目标程序时的一些配置

文章介绍 本文章将介绍在Windows和Linux平台,生成可执行程序时,如何设置Debug和Release的一些属性。主要介绍如何设置目标程序的生成路径,以及运行时库的设置和目标程序版本号的设置。 Debug和Release模式 -O,-O1: 这两个命令的效果是一样…

C++学习笔记-C++11中的智能指针

1.智能指针介绍 智能指针是C的特性用法,是一个类似指针功能的类对象,其目的是为了更好的管理动态分配的内存,避免出现内存泄漏、悬空指针等问题。C11的标准库里提供了三种智能指针模板类,分别是std::unique_ptr、std::shared_ptr…

深入解析HNSW:Faiss中的层次化可导航小世界图

层次化可导航小世界(HNSW)图是向量相似性搜索中表现最佳的索引之一。HNSW 技术以其超级快速的搜索速度和出色的召回率,在近似最近邻(ANN)搜索中表现卓越。尽管 HNSW 是近似最近邻搜索中强大且受欢迎的算法,…

Flutter动画详解第二篇之显式动画(Explicit Animations)

目录 前言 一、定义 1.AnimationController 1.常用属性 1. value 2. status 3. duration 2.常用方法 1.forward 2.reverse 3.repeat 4.stop 5. reset 6. animateTo(double target, {Duration? duration, Curve curve Curves.linear}) 7.animateBack(double ta…

大数据之写入Doris数据问题

1. 解决Key columns should be a ordered prefix of the schema. KeyColumns[1] (starts from zero) is xxx, but 背景 create table if not exists XXX ( fathercorp varchar(50), id decimalv3(38,0) ) ENGINEOLAP UNIQUE KEY(id) COMMENT xxxx DISTRIBUTED BY HASH(id) BUC…

C#实现数据采集系统-实现功能介绍

系统介绍 我们这里主要使用C#( .Net 6)来实现一个数据采集系统,从0到1搭建数据采集系统,从系统分析,功能拆解,到一一实现 数据采集 数据采集是企业信息化和数字化转型过程中的关键环节,它涉及到从生产设备、传感器…

数据结构之细说链表

1.1顺序表的问题以及思考 经过上一篇顺序表的学习,我们知道顺序表还是有很多缺点 顺序表的缺点: 1.中间/头部的插入删除,实际复杂度为O(N) 2.增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗 3.扩容一般…

实战打靶集锦-31-monitoring

文章目录 1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查4.1 ssh服务4.2 smtp服务4.3 http/https服务 5. 系统提权5.1 枚举系统信息5.2 枚举passwd文件5.3 枚举定时任务5.4 linpeas提权 6. 获取flag 靶机地址:https://download.vulnhub.com/monitoring/Monitoring.o…

【BUG】已解决:python setup.py bdist_wheel did not run successfully.

已解决:python setup.py bdist_wheel did not run successfully. 目录 已解决:python setup.py bdist_wheel did not run successfully. 【常见模块错误】 解决办法: 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主…

(二)原生js案例之数码时钟计时

原生js实现的数字时间上下切换显示时间的效果&#xff0c;有参考相关设计&#xff0c;思路比较难&#xff0c;代码其实很简单 效果 代码实现 必要的样式 <style>* {padding: 0;margin: 0;}.content{/* text-align: center; */display: flex;align-items: center;justif…

NOIP2015 推销员

这里如果按照距离来考虑就太复杂了&#xff0c;于是转化对象&#xff0c;考虑客户 证明&#xff1a; 假设我们选的疲劳值最大的前X个的最远的一个的距离为 S 1 S_{1} S1​&#xff0c;那么可以知道&#xff0c;一定不会存在一个更优的方案&#xff0c;使得这个方案的最远的距离…

(一)万字长文系列,redolog看这篇就够了 —— redolog的作用?写入方式是什么?什么是日志文件组?redolog的写入策略是怎样的?

导语 MySQL是一种广泛使用的开源关系型数据库管理系统&#xff0c;由瑞典公司MySQL AB开发&#xff0c;现由Oracle公司维护。它以其高性能、可靠性和易用性而著称&#xff0c;广泛应用于各种Web应用程序。MySQL支持多种操作系统&#xff0c;包括Windows、Linux和macOS&#xf…

Kafka Producer发送消息流程之分区器和数据收集器

文章目录 1. Partitioner分区器2. 自定义分区器3. RecordAccumulator数据收集器 1. Partitioner分区器 clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java&#xff0c;中doSend方法&#xff0c;记录了生产者将消息发送的流程&#xff0c;其中有一步…

【自动化测试】几种常见的自动化测试框架

在软件测试领域&#xff0c;自动化测试框架有很多&#xff0c;这里主要介绍几种常用的自动化测试框架。 1.pytest pytest 是 Python 的一种单元测试框架&#xff0c;与 Python 自带的 unittest 测试框架类似&#xff0c;但是比 unittest 框架使用起来更简洁&#xff0c;效率更高…

UDP详细总结

UDP协议特点 UDP是无连接的传输层协议&#xff1b; UDP使用尽最大努力交付&#xff0c;不保证可靠交付&#xff1b; UDP是面向报文的&#xff0c;对应用层交下来的报文&#xff0c;不合并&#xff0c;不拆分&#xff0c;保留原报文的边界&#xff1b; UDP没有拥塞控制&#…

[集成学习]基于python的Stacking分类模型的客户购买意愿分类预测

1 导入必要的库 import pandas as pd import numpy as np import missingno as msno import matplotlib.pyplot as plt from matplotlib import rcParams import seaborn as sns from sklearn.metrics import roc_curve, auc from sklearn.linear_model import LogisticRegres…