Ubuntu配置ssh+vnc(完整版)
1 配置ssh
1. 安装openssh-server,配置开机自启
# 更新包
sudo apt-get update
# 安装openssh-server
sudo apt-get install -y openssh-server
# 启动服务
sudo service ssh start
# 配置开机自启
sudo systemctl enable ssh
2. 配置ssh允许root登录
# 配置ssh允许root登录,注意配置文件是:sshd_config!!!大家不要改成ssh_config了
vim /etc/ssh/sshd_config
增加如下内容:
PermitRootLogin yes
PubkeyAuthentication yes
# 可选
PasswordAuthentication yes
3. 拓展
①修改root密码(sudo passwd root)
sudo passwd root
② 配置网络dns
## 配置ubuntu dns
sudo vim /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
#重启服务
sudo systemctl restart NetworkManager
③安装ifconfig命令(apt install net-tools)
## ifconfig not found:安装网络工具
apt install net-tools
2 配置vnc
- 使用远程桌面时, 用户必须在host上登入桌面环境. 可以是锁屏或非锁屏, 但是必须要有一个用户桌面会话存在, 如果用户logout了, 远程桌面就无法连接了
- 使用VNC时, host上需要启动vncserver. 但是vncserver与用户在host上的桌面会话是不一样的, vncserver会给连接后的用户启动桌面会话
注意:使用VNC需要安装并启动ssh服务
1. 安装XFCE桌面(可选)
安装XFCE桌面. 如果想使用自带的 Ubuntu桌面, 也可以不安装
sudo apt install xfce4 xfce4-goodies
2. 安装vncserver
sudo apt install tigervnc-standalone-server
3. vncserver -localhost no(启动服务)
执行vncserver命令启动服务,但这种方式启动的服务, 默认是只监听本地127.0.0.1, 所以从其它机器是无法连接的, 如果需要连接, 可以加上
-localhost no
这个配置启动
- 如果启动失败,可以使用journalctl -fe查看原因
# 启动vncserver服务并允许其他机器连接
vncserver -localhost no
# 过程中系统将提示您输入并确认密码,以及是否将其设置为只读密码。如果选择设置仅查看密码,则用户将无法使用鼠标和键盘与VNC实例进行交互
# 密码文件存储在~/.vnc目录中,如果不存在则创建该目录
# 查看是否有对应服务启动,以及服务端口
vncserver -list
可以看到我下面的服务实例为1,远程暴露端口为5901,接下来用vnc软件,通过ip:5901即可远程操作该机器
tips:
- 如果想重新配置vnc,删除.vnc目录,重新执行vncserver -localhost no
- 关闭刚才的实例, :1根据自己的实例修改
vncserver -kill :1
4. 添加vnc到系统服务
vim /lib/systemd/system/vncserver.service
[Unit]
Description=Start vnc server at startup
After=network.target
[Service]
Type=simple
ExecPre=/usr/sbin/runuser -l root -c "vncserver -kill :1"
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver -localhost no :1"
User=root
Group=root
Restart=on-failure
[Install]
WantedBy=multi-user.target
# 重新加载服务文件
systemctl daemon-reload
# 配置开机自启并立即启动
systemctl enable --now vncserver
# 查看是否启动成功
vncserver -list
5. 配置分辨率(可选)
vim ~/.vnc/config
session=xfce
geometry=1366x768
securitytypes=vncauth,tlsvnc
- session=xfce 如果前面安装了xfce, 这里可以用xfce, 否则需要改成ubuntu(Desktop版自带桌面)
能用哪些值, 取决于 /usr/share/xsessions 目录下包含哪些 desktop. 例如使用自带的 Ubuntu桌面, 可以改成 session=ubuntu- geometry=1366x768 是开启时的默认分辨率
- 如果要只允许本地连接, 可以加一行 localhost
# 也可以直接通过命令行配置分辨率
vncserver -geometry 1920x1080 :1 -localhost no
效果:
3 vnc客户端推荐
- vncviewer
- mobaxterm
- jumpserver
参考文章:https://www.cnblogs.com/milton/p/16730512.html