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/configsession=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

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

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

相关文章

C++类和对象总结

目录 总结 一、引言 二、类的定义 三、对象的创建与初始化 四、访问控制 五、封装 六、继承 七、多态 八、其他特性 九、总结 C类的定义 C对象的创建和初始化 C类的访问控制 总结 一、引言 C是一种面向对象的编程语言,其核心概念是类和对象。类是对现…

细说MCU定时器模块的输入捕捉功能的实现方法

目录 一、工程背景 二、建立工程 1、配置GPIO 2、选择时钟源和Debug 3、 配置定时器TIM1 4、 配置定时器TIM13 5、配置串口 6、配置中断 7、配置系统时钟 三、代码修改 1、使能TIM1输入捕捉功能和TIM3的PWM输出功能 2、自定义变量 3、重定义回调函数 4、输出到…

【国际化I18n使用方法】vue2使用i18简单实现多语种切换,刷新保持,动态数据处理

效果图 使用流程 总结就是,安装好插件后,配置几个语言的js文件,每个词都要在每个js内写一遍对应的语言,然后通过切换js文件拿到对应的语言,实现翻译的效果。然后当前使用什么语言保存到本地,这样刷新就可以…

【进阶篇-Day4:使用JAVA编写石头迷阵游戏】

目录 1、绘制界面2、打乱石头方块3、移动业务4、游戏判定胜利5、统计步数6、重新游戏7、完整代码: 1、绘制界面 上述思路是:使用一个二维数组存放图片的编号,然后在后持遍历即可获取对应的图片。 代码如下: package com.itheima.s…

【设计模式之模板方法模式 -- C++】

模板方法模式 – 抽象父类,子类实现 模板方法设计模式是一种行为设计模式,它在父类中定义了一个操作的算法的骨架,而将一些步骤延迟到子类中实现。这样,可以在不改变算法结构的前提下,重新定义算法的某些特定步骤。模…

vue3父组件获取子组件实例(2024-06-22)

vue3获取子组件实例 在Vue 3中,可以使用ref来获取子组件的实例。首先,在父组件中需要引入ref,然后在模板中通过ref属性为子组件设置一个引用名称。之后,可以在父组件的setup函数中使用refAPI来访问子组件实例。 以下是一个简单的…

取代煤气灶,新能源电燃灶真有那么牛吗

在当今社会,能源问题日益凸显,能源危机的警钟不断敲响。与此同时,人们对于生活品质和安全环保的要求也越来越高。在这样的背景下,一种号称能取代燃气灶和电磁炉的新能源电燃灶——华火电燃灶进入了人们的视野。 华火电燃灶的出现似…

【区分vue2和vue3下的element UI Empty 空状态组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Element UI(为 Vue 2 设计)和 Element Plus(为 Vue 3 设计)中,Empty(空状态)组件通常用于在数据为空或没有内容时向用户展示一种占位提示。然而,需要注意的是,Element…

SpringBoot整合justauth实现多种方式的第三方登陆

目录 0.准备工作 1.引入依赖 2.yml文件 3. Controller代码 4.效果 参考 0.准备工作 你需要获取三方登陆的client-id和client-secret 以github为例 申请地址&#xff1a;Sign in to GitHub GitHub 1.引入依赖 <?xml version"1.0" encoding"UTF-8&quo…

Gflags的使用

目录 1. gflags 安装 2. gflags 使用 2.1 基本使用方法 2.2 基本使用实例 2.3 放入配置文件中 3. 融入cmakelists中使用 在实际工程代码开发中&#xff0c;发现gflags很好用&#xff0c;可以在运行 1. gflags 安装 gflags的安装使用apt-get install命令安装即可 sudo …

【SCAU数据挖掘】数据挖掘期末总复习题库简答题及解析——下

1.从某超市顾客中随机抽取5名&#xff0c;他们的购物篮数据的二元0/1表示如下&#xff1a; 顾客号 面包 牛奶 尿布 啤酒 鸡蛋 可乐 1 1 1 0 0 0 0 2 1 0 1 1 1 0 3 0 1 1 1 0 1 4 1 1 1 1 0 0 5 1 1 1 0 0 1 某学生依据这些数据做…

Spring Security6 设置免登录接口地址

1. 在SecurityFilterChain中设置免登录接口地址。如果定义了多个SecurityFilterChain&#xff0c;并且前面的SecurityFilterChain里使用了anyRequest().authenticated()&#xff0c;后面的免登录可能会失效。 Configuration EnableWebSecurity public class SecurityConfig {B…

Linux常用命令(16)—awk命令(有相关截图)

写在前面&#xff1a; 最近在学习Linux命令&#xff0c;记录一下学习Linux常用命令的过程&#xff0c;方便以后复习。仅供参考&#xff0c;若有不当的地方&#xff0c;恳请指正。如果对你有帮助&#xff0c;欢迎点赞&#xff0c;关注&#xff0c;收藏&#xff0c;评论&#xf…

tessy 编译错误总结

目录 1,tessy 单元测试 TDE 界面 数据无法填充:the test object interface is incomplete 2,tessy 编译报错:单元测试时,普通桩函数内容相关异常场景 3,tessy 编译报错:模块分析后 头文件 找不到 4,tessy 集成测试:SCE界面component函数太多 5,tessy 编译报错:函…

Java 10新特性介绍

Java 10是Java平台的一个重要更新&#xff0c;它引入了多项新特性和改进。以下是一些主要的新特性&#xff1a; 局部变量类型推断&#xff08;var关键字&#xff09; Java 10允许使用var关键字来声明局部变量&#xff0c;而无需显式指定变量的类型。编译器会根据变量赋值的上下…

non_blocking=True 与 torch.cuda.synchronize()

需要注意的是&#xff1a;GPU和CPU之间是异步执行的&#xff0c;CPU向GPU下达指令以后会立刻执行之后的代码&#xff0c;CPU不会等待GPU执行完成 一、non_blockingTrue 目的&#xff1a;压缩gpu的效果&#xff0c;避免CPU与GPU设备数据传输时间开销带来的计算效率低下 在 P…

Android获取控件宽高的几种方式

第一种方式&#xff1a;在需要时获取&#xff0c;如控件点击时再获取 button.setOnClickListener(new View.OnClickListener() { Override public void onClick(View v) { getTextWidthAndHeight(); } }); 第二种方式&#xff1a;重写onWindowFocusChanged()方法 Overr…

【SQL】varchar 与 char 的区别

在 SQL 中&#xff0c;VARCHAR 和 CHAR 是用于存储字符串类型数据的两种数据类型&#xff0c;但它们在存储方式和性能上有显著的区别。 CHAR 定义: CHAR 是一种固定长度的字符串数据类型。长度: 你需要在定义表结构时指定长度&#xff0c;例如 CHAR(10)。存储方式: 无论实际存…

【机器学习】机器学习赋能交通出行:智能化实践与创新应用探索

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀目录 &#x1f4d2;1. 引言&#x1f4d9;2. 交通流量预测与优化&#x1f31e;数据准备&#x1f319;模型训练与预测⭐评估模型与优化 &#x…

jsonpath_解析例子代码

# _*_ coding : utf-8 _*_ # Time : 2023-11-05 13:23 # Author : haowen # File : jsonpath_解析_淘票票 # Project : py练习 import urllib.request url https://dianying.taobao.com/cityAction.json?activityId&_ksTS1699161894273_112&jsoncallbackjsonp113&…