Linux工具-远程登录/访问

news2024/11/17 14:38:12

测试环境:ubuntu 20.04

一、ssh服务

SSH(Secure Shell Protocol,安全的壳程序协议,基于tcp协议默认使用22端口),它可以通过数据包加密技术将待传输的数据包加密后再传输到网络上。通过ssh协议/服务,我们可以访问登录到远程服务器。

1、安装

ubuntu环境下,默认已安装ssh server,可以使用"ssh"命令查看。

developer@ubuntu:~$ ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
           [-i identity_file] [-J [user@]host[:port]] [-L address]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] destination [command]

如果未安装可以使用apt源进行安装。

sudo apt install openssh-server

ssh server的状态可以使用service命令进行管理。

sudo service ssh start
sudo service ssh stop
sudo service ssh restart
# ...
2、ssh登录

示例:

# 登录到远程主机
ssh <user_name>@<host_name/ip>
# 在远程主机执行特定命令
ssh <user_name>@<host_name/ip> "<remote_shell_cmd>"

常用参数:

  • -p: 指定端口,默认为22端口
  • -o StrictHostKeyChecking=no: 连接远程主机时,忽略公钥检查(yes/no确认,自动化脚本使用ssh时通常增加该选项)。
3、scp文件传输

示例:

# 将本地文件cp到远程设备
scp <local_file> <user_name>@<host_name/ip>:<remote_path>
# 将远端文件cp到本地
scp <user_name>@<host_name/ip>:<remote_file> <local_path>

常用参数:

  • -P: 指定端口,默认为22端口(注意大小写:ssh为小写,scp为大写

二、xrdp服务

基于ssh,我们可以借助各类终端软件对远程主机进行访问,但当涉及到使用UI界面的工具/软件时需要使用远程桌面进行访问。
xrdp 是一个微软远程桌面协议(RDP)的开源实现,通过xrdp可以登录远程机器,并且创建一个真实的桌面会话,通过客户端软件设置可以像使用本地机器一样的访问远程主机。
借助ubuntu xrdp服务和windows 远程桌面连接客户端,就可以实现在windows环境下访问远程ubuntu桌面。

1、安装

ubuntu环境下,默认未安装xrdp工具,我们可以使用apt源进行安装。

sudo apt install xrdp

在ubuntu环境下,使用systemd管理xrdp服务,安装完成后我们可以使用systemd查看或管理xrdp服务状态。

developer@ubuntu:~$ sudo systemctl status xrdp
● xrdp.service - xrdp daemon
     Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-10-12 10:00:07 CST; 3min 35s ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
   Main PID: 4604 (xrdp)
      Tasks: 1 (limit: 9387)
     Memory: 756.0K
     CGroup: /system.slice/xrdp.service
             └─4604 /usr/sbin/xrdp

Oct 12 10:00:06 ubuntu xrdp[4603]: (4603)(139830378088256)[INFO ] address [0.0.0.0] port [3389] mode 1
Oct 12 10:00:06 ubuntu xrdp[4603]: (4603)(139830378088256)[INFO ] listening to port 3389 on 0.0.0.0
Oct 12 10:00:06 ubuntu xrdp[4603]: (4603)(139830378088256)[INFO ] xrdp_listen_pp done
Oct 12 10:00:06 ubuntu xrdp[4603]: (4603)(139830378088256)[DEBUG] Closed socket 7 (AF_INET6 :: port 3389)
Oct 12 10:00:06 ubuntu systemd[1]: xrdp.service: Can't open PID file /run/xrdp/xrdp.pid (yet?) after start: Operation not permitted
Oct 12 10:00:07 ubuntu systemd[1]: Started xrdp daemon.
Oct 12 10:00:08 ubuntu xrdp[4604]: (4604)(139830378088256)[INFO ] starting xrdp with pid 4604
Oct 12 10:00:08 ubuntu xrdp[4604]: (4604)(139830378088256)[INFO ] address [0.0.0.0] port [3389] mode 1
Oct 12 10:00:08 ubuntu xrdp[4604]: (4604)(139830378088256)[INFO ] listening to port 3389 on 0.0.0.0
Oct 12 10:00:08 ubuntu xrdp[4604]: (4604)(139830378088256)[INFO ] xrdp_listen_pp done
# 管理状态
sudo systemctl start xrdp
sudo systemctl stop xrdp
sudo systemctl restart xrdp
# 使能自启动
sudo systemctl enable xrdp

注:xrdp服务默认使用系统的3389端口。

2、连接

这里我们使用windows自动的“远程桌面连接”访问xrdp服务。

  • 输入主机名/ip(端口非3389时需加端口号),点击连接
    在这里插入图片描述
  • 输入远程主机的用户名和密码,点击OK
    在这里插入图片描述
  • 连接成功后可以看到ubuntu桌面
    在这里插入图片描述
    注1:当用户在远程主机使用桌面登录,可以连接但会始终黑屏,需要将远程主机的桌面登录用户登出(Logout)或者重启远程主机后重新连接。
    注2:现在看到的远程桌面(Xorg)和使用本地登录使用的桌面(GNOME)存在些差异,可以修改配置进行调整。
3、优化
a. 移除/隐藏"~/thinclient_drives"文件夹
  • 打开sesman.ini配置文件:
sudo vim /etc/xrdp/sesman.ini
  • 修改FuseMountName配置项
FuseMountName=thinclient_drives

修改为:

FuseMountName=.xrdp/thinclient_drives

并创建~/.xrdp目录(可选,没有该目录不会创建thinclient_drives文件夹)

mkdir 
  • 移除现有"thinclient_drives"目录
sudo umount thinclient_drives
sudo rm -rf thinclient_drives
  • 重启xrdp服务(或直接重启远程主机)
sudo systemctl restart xrdp
b. 修改桌面环境
  • 打开~/.xsessionrc文件
vim ~/.xsessionrc
  • 增加以下环境变量声明:
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
  • 重启xrdp服务(或直接重启远程主机)
sudo systemctl restart xrdp
  • 配置生效后远程连接后的桌面如下:
    在这里插入图片描述

三、vscode开发环境

基于ssh服务,我们可以访问登录到远程主机,但当涉及到大量文件修改、编码实现时还是有很多不方便的;xrdp可以直接访问桌面,但受限于网络速度通常存在桌面UI刷新卡顿的情况。
vscode提供了远程开发的功能,对不涉及UI界面的编程开发,我们可以借助于vsode将性能更强大的远程主机作为日常的开发环境。

1、安装ssh插件

在vscode的扩展中查找ssh插件,并安装
在这里插入图片描述
安装完成后会增加远程连接的侧边栏:
在这里插入图片描述

2、添加远程主机

点击”+“(New Remote) 添加新的远程连接:
在这里插入图片描述
输入用户名、主机名/IP、端口(可选)进行连接:
在这里插入图片描述
注:vscode的远程连接基于ssh服务,建立”New Remote“时使用的就是ssh访问命令。
刷新后在ssh下面可以对应的主机名/IP:
在这里插入图片描述

3、连接远程主机

使用图标或右键,选择“Connect in Current Window…”或“Connect in New Window…”连接远程主机,根据弹窗选择远程主机系统、用户密码:
在这里插入图片描述
在这里插入图片描述

连接成功后左下角可以看到主机名/IP:
在这里插入图片描述
连接成功后,再选择“Open File”或“Open Folder”,我们可以看到访问到的就是远程主机上的文件目录:
在这里插入图片描述
后续就可以像在本地使用vscode一样的操作,存在的差异就是此时创建、编译的文件均存储在远程主机上面,使用终端时打开的也是远程主机的shell终端。

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

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

相关文章

ros之乌龟做圆周运动and订阅乌龟的位姿信息

一 .基于乌龟显示节点&#xff0c;通过话题发布&#xff0c;编码实现控制小乌龟做圆周运动 打开终端1&#xff0c;进入工作空间 ros_ws cd ros_ws启动节点(ros服务器) roscore新开终端2&#xff0c;启动乌龟节点&#xff08;turtlesim &#xff09; rosrun turtlesim turtl…

企业数字化营销策略如何制定?企业开展数字化营销有的关键步骤?

​制定数字化营销策略是建立数字化营销体系的关键步骤&#xff0c;想要建立好的数字化营销策划&#xff0c;需要企业明确目标客户群体&#xff0c;通过了解他们的需求和行为&#xff0c;来制定相应的营销策略。例如&#xff0c;通过数据分析手段&#xff0c;企业可以确定目标客…

#JavaScript教程:循环遍历@FDDLC

一、普通的for循环&#xff08;当然还有while循环和do while循环&#xff09; 二、for of 遍历 三、for in 遍历 四、forEach 五、map方法 六、reduce方法 输出&#xff1a;543 七、filter方法 八、some方法

TensorFlow入门(二十三、退化学习率)

学习率 学习率,控制着模型的学习进度。模型训练过程中,如果学习率的值设置得比较大,训练速度会提升,但训练结果的精度不够,损失值容易爆炸;如果学习率的值设置得比较小,精度得到了提升,但训练过程会耗费太多的时间,收敛速度慢,同时也容易出现过拟合的情况。 退化学习率 退化学…

mysql误删误操作恢复数据,比传统方式和binlog2sql更快速用的恢复方式-reverse_sql恢复数据(单表多表)

场景&#xff1a; 误操作删除了某个表的数据&#xff0c;本文只讲工具的使用&#xff0c;首先自己通过mysqlbinlog或者记录找到误操作的时间范围&#xff1a;开始时间和结束时间&#xff0c;已经确定好是哪个binlog了下面以误删为例。 查看binlog是否开启 show variables like …

2023影视源接口分享 影视仓配置接口大全 TVBox接口地址源 订阅源地址大全

如今有着大量以TVBox为原版开发出的影视TV软件&#xff0c;这软件软件盒子本身不能观看影视&#xff0c;但是能够通过添加影视源的方式畅看影视&#xff0c;并且这些影视源能够在这款类型的软件中共用&#xff0c;非常的方便&#xff0c;今天小编将为用户提供丰富的影视源和直播…

本地部署Element-Plus开发文档

访问Element-Plus文档官网的时候&#xff0c;时不时会很卡&#xff0c;直接卡死 https://element-plus.gitee.io/zh-CN/ 有点影响 CV 大法的施展&#xff0c;看了一下又是 gitee.io &#xff0c;而且开源的项目&#xff0c;找到文档搞下来本地部署就不用担心卡不卡的问题了 文章…

UGUI不规则响应区域(例如多个按钮重叠,避免点击错误)

1、UI的默认响应区域是UI元素所在的矩形框线内的区域。这也就意味着&#xff0c;当UI的图形为不规则形状时&#xff0c;点击图形的外部也可能会触发事件。 2、但其实Unity自带了一种不规则区域点击策略。要想使用它&#xff0c;我们首先要将精灵的「Read/Write」属性设置为开启…

【LeetCode75】第七十一题 搜索推荐系统

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 给我们一个产品数组&#xff0c;以及一个字符串&#xff0c;我们模拟依次输入字符串中的每一个字符&#xff0c;要求返回与对应的输入字符…

Python皮卡丘

系列文章 序号文章目录直达链接1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心https://want595.blog.csdn.net/article/details/1295031234漂浮爱心https://want…

【重拾C语言】七、指针(三)指针与字符串(字符串与字符串数组;指针与字符串的遍历、拷贝、比较;反转字符串)

目录 前言 七、指针 7.1~3 指针与变量、指针操作、指向指针的指针 7.4 指针与数组 7.5 指针与字符串 7.5.1 字符串与字符串数组 a. 字符串 b. 字符串数组 7.5.2 指针与字符串 a. 字符串指针的声明和初始化 b. 指针与字符串的遍历 c. 字符串的拷贝 d. 字符串的比较…

计算机毕业设计选什么题目好?springboot 职业技术学院图书管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

MySQL join的底层原理

文章目录 前言一、join是什么&#xff1f;二、join的使用例子三、join的连接方式1、简单嵌套2、索引嵌套3、块嵌套4、哈希连接 前言 面试的时候&#xff0c;被问到join 的底层原理&#xff0c;之前没有深入了解过&#xff0c;今天对这个知识点进行一个学习。 一、join是什么&…

选择功率放大器时主要看哪些指标

选择功率放大器时&#xff0c;有许多重要的指标需要考虑。以下是选择功率放大器时主要参考的一些指标。 输出功率&#xff1a;输出功率是功率放大器可以提供的最大输出功率。这是选择功率放大器时最基本的指标之一。根据应用的需求&#xff0c;需要确定所需的输出功率水平&…

LLM实战(一)| 使用LLM抽取关键词

抽取关键词是NLP的常见任务之一&#xff0c;常用的方法有TFIDF、PageRank、TextRank方法等等。在Bert时代&#xff0c;可以使用KeyBERT&#xff08;https://github.com/MaartenGr/KeyBERT&#xff09;来抽取关键词&#xff0c;在ChatGPT时代&#xff0c;KeyBERT也扩展支持了LLM…

邮件营销主题怎样撰写效果好

邮件营销主题是向订阅者提供有关公司、产品或服务的新消息和信息。邮件营销主题可以包括促销、折扣、新产品、优惠活动等。邮件营销主题可以吸引订阅者打开邮件&#xff0c;了解公司的新消息&#xff0c;从而增加公司的品牌知名度和销售额。在选择邮件营销主题时&#xff0c;需…

使用大模型提效程序员工作

引言 随着人工智能技术的不断发展&#xff0c;大模型在软件开发中的应用越来越广泛。 这些大模型&#xff0c;如GPT、文心一言、讯飞星火、盘古大模型等&#xff0c;可以帮助程序员提高工作效率&#xff0c;加快开发速度&#xff0c;并提供更好的用户体验。 本文将介绍我在实…

Spring Cloud 2023 支持同步网关,最引人注目的新特性之一

一、前言 在 Spring Cloud 2023 版本中&#xff0c;最引人注目的新特性之一就是支持同步网关。同步网关是一种新的网关实现&#xff0c;它可以保证请求的顺序性。在传统的微服务架构中&#xff0c;不同的服务之间通常通过 HTTP 协议进行通信&#xff0c;这种通信方式是非阻塞的…

【牛客面试必刷TOP101】Day7.BM31 对称的二叉树和BM32 合并二叉树

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;牛客面试必刷TOP101 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&…

Linux系统之ip命令的基本使用

Linux系统之ip命令的基本使用 一、ip命令介绍1.1 ip命令简介1.2 ip命令的由来1.3 ip命令的安装包 二、ip命令使用帮助2.1 ip命令的help帮助信息2.2 ip命令使用帮助 三、查看网络信息3.1 显示当前网络接口信息3.2 显示网络设备运行状态3.3 显示详细设备信息3.4 查看路由表3.5 查…