ubuntu22.04安装ssh-server与realvnc-server
文章目录
- ubuntu22.04安装ssh-server与realvnc-server
-
- [0. 前言](#0. 前言)
- [1. 前置准备](#1. 前置准备)
- [2. 安装ssh-server](#2. 安装ssh-server)
-
- [2.1 安装openssh-server](#2.1 安装openssh-server)
- [2.2 vim修改配置文件](#2.2 vim修改配置文件)
- [2.3 重启ssh服务,设置开机自启动](#2.3 重启ssh服务,设置开机自启动)
- [2.4 设置防火墙,开放端口](#2.4 设置防火墙,开放端口)
- [2.5 使用MobaXterm验证](#2.5 使用MobaXterm验证)
- [3. 安装realvnc-server](#3. 安装realvnc-server)
-
- [3.1 下载安装6.11版本](#3.1 下载安装6.11版本)
- [3.2 修改配置文件](#3.2 修改配置文件)
- [3.3 离线激活](#3.3 离线激活)
- [3.4 开放端口号](#3.4 开放端口号)
- [3.5 连接验证](#3.5 连接验证)
- [3.6 *注意!!!以下内容,仅针对无实体显示器的场景*](#3.6 注意!!!以下内容,仅针对无实体显示器的场景)
- [3.7 关于3.6内容操作需要额外注意的事项](#3.7 关于3.6内容操作需要额外注意的事项)
0. 前言
系统安装后配置root与开机自动root登陆的流程省略,可以参考https://blog.csdn.net/xw1198354710/article/details/126866680,文中默认已在`root`权限中操作,省去`sudo`指令前缀。
1. 前置准备
软件源更新
shell
apt-get update
apt-get upgrade
安装vim,用于文本编辑,可以了解vim的键盘按键操作方式
shell
apt-get install vim
安装防火墙管理ufw,用于开放端口
shell
apt-get install ufw
2. 安装ssh-server
2.1 安装openssh-server
shell
apt-get install openssh-server
2.2 vim修改配置文件
使用vim修改/etc/ssh/ssh_config配置文件
shell
vim /etc/ssh/ssh_config
取消# PasswordAuthentication yes这一行的注释,即删除符号#,之后esc -> shift + : -> wq! -> 回车保存编辑。

我们希望使用root账号ssh登陆还需要对/etc/ssh/sshd_config文件进行修改,否则使用MobaXterm等软件尝试ssh连接时,会遇到Access Denied报错。
使用vim修改/etc/ssh/sshd_config配置文件,
shell
vim /etc/ssh/sshd_config
文件中有如#PermitRootLogin prohibit-password的内容,确认为注释状态。
在该行后添加一行PermitRootLogin yes,之后同样的保存编辑内容,退出编辑。

2.3 重启ssh服务,设置开机自启动
重启,查看运行状态,有active即可
shell
systemctl restart ssh
systemctl status ssh

SSH服务在系统启动时自动启动
shell
systemctl enable ssh
2.4 设置防火墙,开放端口
ssh默认使用22端口。出现图中指向的两行内容即可。
shell
ufw enable
# 默认开放22端口
ufw allow ssh
# 重新加载防火墙使规则生效
ufw reload
# 查看状态
ufw status

2.5 使用MobaXterm验证

3. 安装realvnc-server
3.1 下载安装6.11版本
个人喜欢安装包放入Download路径
shell
# 切换到目标存储路径
cd /root/Downloads/
# 下载
wget https://downloads.realvnc.com/download/file/vnc.files/VNC-Server-6.11.0-Linux-x64.deb
#解压安装
dpkg -i VNC-Server-6.11.0-Linux-x64.deb
安装结束后,可以搜索到

3.2 修改配置文件
需要去修改一下/etc/gdm3/custom.conf配置文件,不然点击图标无法运行出正常的UI。
shell
vim /etc/gdm3/custom.conf
取消对以# WaylandEnable=false的注释,以强制登录屏幕使用 Xorg,保存修改退出。

重启gdm3服务,使修改生效
shell
systemctl restart gdm3
3.3 离线激活
点击VNC图标运行软件,点击左下角Register offline,输入激活码8KNFU-MZZHE-WA449-2SLLH-48Q7A,之后按照实际需求,选择对应的配置项。个人选择的是使用系统用户名和密码,开机自启动。

3.4 开放端口号
VNC 的默认端口 5900,若不开放的话,使用其他主机的realvnc客户端,连接本机使会出现timed out waiting for a response from the computer的报错
shell
# 允许 5900/tcp 端口
ufw allow 5900/tcp
# 重新加载防火墙使规则生效
ufw reload
# 查看
ufw status verbose

3.5 连接验证

3.6 注意!!!以下内容,仅针对无实体显示器的场景
需要远程访问的Ubuntu 22.04,若为 无头运行(不接显示器)时,显卡可能会进入节能状态或关闭视频输出,导致 Linux 的图形系统(无论是 X11 还是 Wayland)无法正确初始化或更新画面,VNC 无法正常工作。出现黑屏窗口,或者连接后操作明显有卡顿和滞后等异常感觉。
前面我们已经禁用了 Wayland(详见3.2内容),此时仅需要安装一个" dummy "(虚拟)驱动来欺骗显卡,让它以为始终连着一个显示器。
以安装xserver-xorg-video-dummy,分辨率设置为1280*800为例:
终端执行安装命令
shell
apt install xserver-xorg-video-dummy
计算该分辨率的标准时序,保存好Modeline后面的一整串参数,下一步需要用到。
shell
cvt 1280 800

创建虚拟显示器配置文件
shell
mkdir -p /etc/X11/xorg.conf.d
vim /etc/X11/xorg.conf.d/dummy-monitor.conf
将Modeline替换为刚刚生成的实际数值,再将整段复制到dummy-monitor.conf文件中,保存退出。
shell
Section "Monitor"
Identifier "Monitor0"
Modeline "1280x800_60.00" 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync
Option "PreferredMode" "1280x800_60.00"
EndSection
Section "Device"
Identifier "Card0"
Driver "dummy"
VideoRam 256000
EndSection
Section "Screen"
DefaultDepth 24
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Depth 24
Modes "1280x800_60.00"
EndSubSection
EndSection

之后reboot重启系统即可,拔掉临时的显示器。最终可以看到

3.7 关于3.6内容操作需要额外注意的事项
事项一:与物理显示器的冲突
一旦这个配置文件生效,Ubuntu会默认将画面输出到虚拟显示器上。如果之后再接上物理显示器,物理显示器可能会黑屏或无信号。要恢复物理显示器使用,需要:
-
暂时禁用配置文件:
shellmv /etc/X11/xorg.conf.d/dummy-monitor.conf /etc/X11/xorg.conf.d/dummy-monitor.conf.bak -
重启系统。
-
用完物理显示器后,再改回原名并重启,重新启用虚拟显示器。
事项二:分辨率修改
如果想换其他分辨率,只需重新用 cvt 生成 Modeline,替换配置文件中的对应行,然后重启即可。
事项三:确保已禁用 Wayland
如果之前没有禁用 Wayland,请务必执行,修改配置文件:
shell
vim /etc/gdm3/custom.conf