Ubuntu配置ssh+vnc(完整版)

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Github 2024-06-19 C开源项目日报 Top9

根据Github Trendings的统计,今日(2024-06-19统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目9C++项目1Netdata: 开源实时监控平台 创建周期:4020 天开发语言:C协议类型:GNU General Public License v3.0Star数量:68982 个Fork数量…

可平滑替代传统FTP的国产FTP方案,了解一下

企业在处理数据传输时,效率和安全性是关键。尽管传统FTP曾被广泛采用,然而,随着企业业务需求的增长,传统FTP在传输速度、安全性、稳定性以及可控性方面的不足逐渐显现。许多企业正在寻找更为高效、安全且用户体验更好的的国产FTP方…

在webstorm配置nodejs(从零开始)

在webstorm配置nodejs之前,需要先下载node.js和webStorm。 按下winr,输入cmd打开命令行 输入node -v和npm -v会出现相应的版本,如果报错则需要去下载node.js。 打开webStorm,File—settings 搜索node 选择node.exe安装位置 重启…

Elasticsearch基础(一):阿里云Elasticsearch简介

文章目录 阿里云Elasticsearch简介 一、什么是阿里云Elasticsearch 1、开源Elasticsearch 2、阿里云Elasticsearch 3、阿里云Elasticsearch介绍 4、总结 二、 阿里云Elasticsearch组件 1、X-Pack(商业版扩展包) 2、 Beats(数据采集中…

华为OD机试 - 地图寻宝 - 深度优先搜索BFS(Java 2024 D卷 200分)

华为OD机试 2024D卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(D卷C卷A卷B卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测…

秋招突击——6/21——新作{两两交换链表中的节点,K个一组反转链表}

文章目录 引言新做删除有序数组中的重复项个人实现 K 个一组翻转链表个人实现参考代码 总结 引言 上午完全去听讲座了,听了三场,拿了三个讲座单,从九点一直到十二点。笔记本电脑插电才能用,就没带,所以没有进行复习。…

【图解IO与Netty系列】Netty源码解析——事件循环

Netty源码解析——事件循环 Netty事件循环源码解析select()processSelectedKeys()NioMessageUnsafe#read()NioByteUnsafe#read() runAllTasks() Netty事件循环 当Netty服务端启动起来以后,就可以接受客户端发送的请求,接收到客户端发来的请求后就会有事…

Android平台下VR头显如何低延迟播放4K以上超高分辨率RTSP|RTMP流

技术背景 VR头显需要更高的分辨率以提供更清晰的视觉体验、满足沉浸感的要求、适应透镜放大效应以及适应更广泛的可视角度,超高分辨率的优势如下: 提供更清晰的视觉体验:VR头显的分辨率直接决定了用户所看到的图像的清晰度。更高的分辨率意…

微服务改造启动多个 SpringBoot 的陷阱与解决方案

在系统运行了一段时间后,业务量上升后,生产上发现java应用内存占用过高,服务器总共64G,发现每个SpringBoot占用近12G的内存,我们项目采用微服务架构,有多个springboot应用。 一下子内存就不够用了&#xf…

基于SpringBoot+Vue在线考试报名系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

<Rust><iced>基于rust使用iced构建GUI实例:如何将svg格式转为ico格式图片?

前言 本专栏是Rust实例应用。 环境配置 平台:windows 软件:vscode 语言:rust 库:iced、iced_aw 概述 本文是专栏第4篇实例,依旧是一个图像格式转换程序,基于rust的svg库resvg、图像处理库image以及文件处…

Python xlwt库:写excel表格

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

电路仿真实战设计教程--平均电流控制原理与仿真实战教程

1.平均电流控制原理: 平均电流控制的方块图如下,其由外电路电压误差放大器作电压调整器产生电感电流命令信号,再利用电感电流与电流信号的误差经过一个电流误差放大器产生PWM所需的控制电压,最后由控制电压与三角波比较生成开关管的驱动信号。 2.电流环设计: 根据状态平…

C语言:生命周期和作用域,static和extern

关键字static与extern 1.作用域(scope):代码中能够访问到变量的范围(变量可以被使用的文本区间)。(分为全局作用域和局部作用域) ☺全局作用域:在整个程序中都能访问的变量。通常…

【数据结构】第十九弹---C语言实现冒泡排序算法

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、冒泡排序基本思想 2、代码的初步实现 3、代码的优化 4、代码的测试 5、时空复杂度分析 6、模拟实现qsort 6.1、冒泡排序函数 6.2、交换数…

【PyTorch】【机器学习】图片张量、通道分解合成和裁剪

一、导入所需库 from PIL import Image import torch import numpy as np import matplotlib.pyplot as plt二、读取图片 pic np.array(Image.open(venice-boat.jpg))上述代码解释:先用Image.open()方法读取jpg格式图片,再用np.array()方法将图片转成…

STM32单片机-BKP和RTC

STM32单片机-BKP和RTC 一、Unix时间戳1.1 时间戳转换 二、BKP(备份寄存器)三、RTC(实时时钟)3.1 RTC工作原理 四、代码部分4.1 BKP备份寄存器4.2 RTC实时时钟 一、Unix时间戳 Unix时间戳定义为从伦敦时间的1970年1月1日0时0分0秒开始所经过的秒数,不考虑闰秒时间戳…

Django集成OpenAI

Django集成OpenAI 通过前面 django 框架的基本开发知识,我们现在可以开始在 django 上做稍微深一点当然应用开发了。 这一章开始编写怎么集成调用 openai ,设置环境以及 openai 的基础知识。 大家都知道 ai 的多模态逐渐扩大,各种应用层出…

【LeetCode:2663. 字典序最小的美丽字符串 + 贪心】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

性能工具之 JMeter 常用组件介绍(五)

文章目录 一、Jmeter中参数取值1、Test Plan中添加变量2、User Defined Variables 二、Jmeter中CSV Data Set Config三、Timer:定时器4、Gaussian Random Timer 高斯随机定时器5、JSR223 Timer JSR223定时器6、Poisson Random Timer 泊松随机定时器7、Synchronizing Timer 同步…