Linux常用工具及服务(ssh,rsync)

news2025/1/14 1:09:17

目录

一、SSH服务远程终端连接工具

1、SSH的登录原理

 2、SSH基本用法

2.1 基本语法:

3、ssh服务认证类型

3.1 基于口令认证

3.2 基于密钥认证

4、ssh服务常见配置

4.1 常见配置

 5、ssh客户端附带的远程拷贝scp命令

5.1 基本语法

二、Rsync远程同步及备份工具

2.1 rsync 安装

2.2 rsync-daemon 认证

2.3 ssh认证

2.4 Rsync命令参数

2.5 Rsync基于SSH认证的使用

2.5.1 rsync==cp

2.5.2 rsync == scp

2.5.3 rsync== rm

2.5.4 rsync == ls -l

2.6 Rsync基于rsync-daemon认证的使用

2.6.1 配置rsync服务端

2.6.2 配置rsync客户端(其他服务器为客户端)


一、SSH服务远程终端连接工具

1、SSH的登录原理

 2、SSH基本用法

2.1 基本语法:

ssh -p 22 user@host

参数:

-p : 指定端口号

user : 登录的用户名

host : 登录的主机

默认的端口号为22,当端口号为22的时候,可以省略,直接使用。

3、ssh服务认证类型

3.1 基于口令认证

基于口令的安全验证的方式就是大家现在一直在用的,只要知道服务器的SSH连接帐 号和口令(当然也要知道对应服务器的 IP及开放的 SSH端口,默认为22 ),就可以通过 ssh客户端登录到这台远程主机。此时,联机过程中所有传输的数据都是加密的。

ssh + ip

3.2 基于密钥认证

首先在客户端生成一对密钥

 ssh-keygen -t dsa

 将客户端的公钥传到服务器端

 测试:

4、ssh服务常见配置

SSH服务的配置文件为/etc/ssh/sshd_config

4.1 常见配置

常见的SSH服务器监听的选项如下:

1. Port 22         //监听的端口号为22

2. Protocol 2         //使用SSH V2协议

3.  ListenAdderss 0.0.0.0            //监听的地址为所有的地址

4.  UserDNS no       //禁止DNS反向解析 建议用no,不需要对DNS进行反向解 析,可以加快ssh连接速度。

常见用户登录控制选项如下:

PermitRootLogin no         // 禁止root用户登录

PermitEmptyPasswords no         // 禁止空密码用户登录

LoginGraceTime 2m         // 登录验证时间为2分钟

MaxAuthTries 6         // 最大重试次数6次

AllowUsers steven         // 只允许steven用户登录

DenyUsers steven         // 不允许登录用户 steven

常见登录验证方式如下:

PasswordAuthentication yes         //启用密码验证

PubkeyAuthentication yes         //启用密匙验证

AuthorsizedKeysFile .ssh/authorized_keys         //指定公钥数据库文件

 5、ssh客户端附带的远程拷贝scp命令

5.1 基本语法

scp -secure copy

每次都是全量拷贝,增量拷贝用rsync

#推:PUSH

scp -P22 -r -p /tmp/chensiqi root@172.16.1.41:/tmp

#拉:PULL

scp -P22 -rp root@172.16.1.41:/tmp/chensiqi /opt/

-P(大写):接端口,默认22

-r:递归,表示拷贝目录

-p:表示在拷贝前后保持文件或目录属性

-l limit:限制速度

二、Rsync远程同步及备份工具

2.1 rsync 安装

yum -y install rsync

2.2 rsync-daemon 认证

rsync在rsync-daemon认证方式下,默认监听TCP的873端口。

rsync-daemon认证方式是rsync的主要认证方式,这个也是我们经常使用的认证方式。 并且也只有在此种模式下,rsync才可以把密码写入到一个文件中。

注意:

rsync-daemon认证方式,需要服务器和客户端都安装rsync服务并且只需要rsync服务器端启动rsync,同时配置rsync配置文件。客户端启动不启动rsync服务,都不影响同步的正常进行

2.3 ssh认证

rsync在ssh认证方式下,可通过系统用户进行认证,即在rsync上通过ssh隧道进行传 输,类似于scp工具。

注意:

ssh认证方式,不需要服务器和客户端配置rsync配置文件只需要双方都安装rsync服务,并且也不需要双方启动rsync。

两种认证方式的本质区别:

ssh 协议认证连接的两端是通过管道完成通信和数据传输的,当连接到远程主机时,将在远程主机 fork 出 rsync 进程使其成为 rsync server;而 rsync 协议认证是 事先在远程主机上运行 rsync 守护进程,监听套接字等待客户端的连接,建立连接后 所有通信方式都是通过套接字完成的。

2.4 Rsync命令参数

rsync 命令的基本格式有多种,分别是:

rsync [OPTION] SRC DEST        #用于仅在本地备份数据;

rsync [OPTION] SRC [USER@]HOST:DEST        #用于将本地数据备份到远程机器上;

rsync [OPTION] [USER@]HOST:SRC DEST   #用于将远程机器上的数据备份到本地机上

rsync [OPTION] [USER@]HOST::SRC DEST   #和第三种是相对的

rsync [OPTION] SRC [USER@]HOST::DEST         #和第二种是相对的,它们各自之间的区别 在于登陆认证时使用的验证方式不同。

使用 rsync 在远程传输数据(备份数据)前,是需要进行登陆认证的,这个 过程需要借助 ssh 协议或者 rsync 协议才能完成。在 rsync 命令中,如果使用单个 冒号(:),则默认使用 ssh 协议;反之,如果使用两个冒号(::),则使用 rsync协议。

  • SRC:用来表示要备份的目标数据所在的位置(路径);
  • DEST:用于表示将数据备份到什么位置;
  • USER@:当做远程同步操作时,需指明系统登录的用户名,如果不显示指定, 默认为以 root 身份登录系统并完成同步操作。

2.5 Rsync基于SSH认证的使用

rsync 默认使用 ssh 协议进行远程登录和数据传输。远程主机需要开启 sshd 服务, rsync 在传输数据之前会先与远程主机进行一次 ssh 登录认证,然后通过 ssh 隧道进 行数据传输。只需数据同步双方安装 rsyncm,但不必启动 rsyncd 服务。

可用 -e 选项指定协议:

rsync -r -e ssh 目录  username@1.1.1.1:目标目录

也可省略 -e;使用 ssh 认证与传输的缺点是不安全

rsync 命令属于1 v 4 的命令

  • 类似于 cp 命令 -- 实现本地备份传输数据
  • 类似于scp 命令 -- 远程备份传输数据
  • 类似于 rm 命令 -- 实现无差异同步备份
  • 类似于 ls 命令 -- 本地文件信息查看

2.5.1 rsync==cp

rsync /etc/hosts /tmp/

2.5.2 rsync == scp

pull 拉

rsync 1.1.1.1:/tmp/1.txt  /opt

push 推(推整个目录下的文件(不包括目录本身))

rsync -r /tmp 1.1.1.1:/tmp/

/tmp --表示将tmp目录本身及目录下的内容进行传输

/tmp/ --表示只传输tmp目录下面的内容信息

2.5.3 rsync== rm

rsync -a --delete /null/ /znix/

创建一个空目录,使用空目录进行无差异同步,将/null的所有文件同步到/znix内,并 删除/znix内多余的文件:

2.5.4 rsync == ls -l

rsync install.log

2.6 Rsync基于rsync-daemon认证的使用

与 ssh 认证不同,rsync 协议认证不需要依赖远程主机的 sshd 服务,但需要远程主机开启 rsyncd 服务,本地 rsyncd 服务可不必开启。另外,rsync 协议认证不是直接使用远程主机的真实系统账号,而是虚拟账号和虚拟密码,且可实现无需手动输入 密码,同时 rsync 协议认证需要配置模块对远程同步的目录进行限制。对比 ssh 认 证,rsync 协议认证安全性更高。

2.6.1 配置rsync服务端

1. vim /etc/rsyncd.conf

 2. 创建rsync用户

useradd -s /sbin/nologin -M rsync

3. 创建数据备份储存目录,目录修改属主

mkdir /slave/

chown -R rsync:rsync /slave/

4. 创建认证用户密码文件

echo "rsync_slave:nebula123" >>/etc/rsync.passwo rd

chmod 600 /etc/rsync.password

5. 启动rsync

rsync --daemon

2.6.2 配置rsync客户端(其他服务器为客户端)

1. 创建认证文件

客户端的认证文件只需要有密码即可

echo "nebula123" >>/etc/rsync.password

chmod 600 /etc/rsync.password

2. 实现数据传输

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

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

相关文章

k8s的接口文档——swagger-ui服务

文章目录1. 获取配置文件2. 启动swagger-ui2.1 用docker部署2.2 用docker-compose部署2.3 在k8s平台部署1. 获取配置文件 开启k8s的api临时端口 说明: 为导出k8s集群的api信息作为swagger-ui的配置文件,我们临时开一个api的临时端口该端口:只…

Qt 中设置窗体(QWidget)透明度的几种方法

Qt 中设置窗体(QWidget)透明度的几种方法 1. 设置窗体的背景色 在构造函数里添加代码,需要添加头文件qpalette或qgui QPalette pal palette(); pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00)); setPalette(pal); 通过设置窗体的背景色来实…

连花清瘟卖断货?近一个月解热药价格暴涨33%,销额超206万元

近日,“连花清瘟生产商以岭药业正在疯狂招短期工”的消息登上热搜,以岭药业一度涨停。此外,石家庄其他感冒类药品也迎来线上线下一同销量大涨。 为此,鲸参谋特意查询了京东平台近一个月“解热镇痛”类药品的销售数据。可以看到&am…

SpringBoot自定义banner,如何定制炫酷的banner提升项目B格?

文章目录写在前面自定义banner使用banner.txt文件使用图片手写一个bannerbanner参数在 application.properties 文件中可以配置banner其他属性banner自身参数源码分析在线生成banner写在前面 Springboot启动的时候默认是有一套自己的banner的: 我们如何自定义这个…

SpringBoot+Vue项目大学生网络教学平台的设计与实现

文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JDK版…

retrofit网络框架源码解析

App应用程序通过Retrofit 请求网络,实际上是使用Retrofit接口层封装请求参数,之后由OkHttp完成后续的请求操作。在服务器返回数据之后,OkHttp将原始的结果交给Retrofit,Retrofit根据用户的需求对结果进行解析。 一、retrofit框架网…

【Android】扩展BaseExpandableListAdpter实现ExpandableAdapter

今天分享如何扩展BaseExpandableListAdpter实现ExpandableAdapter,很简单的一个例子。 效果示例: 核心是重写BaseExpandableListAdpter,其中BaseExpandableListAdpter则分成了两部分:组和子列表,要注意的是&#xff0…

IDEA远程debug教程

IDEA远程debug教程 当你在本地开发的时候,你需要调试服务器上的程序时,远程调试就显得非常有用。 JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的协议联系…

【Netty源码系列(二)】解读EventLoopGroup

【Netty源码系列文章中源码出自4.1.84.Final版本】 文章目录1. EventLoopGroup接口类2. NioEventLoopGroup创建过程2.1 Executor实现机制2.2 EventLoop对象创建(newChild()方法)本篇文章主要看一下 EventLoopGroup的源码,了解一下它的创建过程…

二、react的组件-state-props-setState

目标 理解组件和组件的创建、以及能够根据实际场景去划分合理的组件。理解并且能够灵活的应用组件中的state、props。可以使用组件去实现各种前端交互。 知识点 组件的定义:组件能够表示一块视图的结构表现以及逻辑交互,并且可以重复利用。如何创建组件…

【ROS】机械人开发四--ROS常用概念与Launch文件

机械人开发四--ROS常用概念与Launch文件一、ROS常用概念1.1 ROS 的结构1.2 ROS 话题通信1.3 海龟仿真器 仿真 例程二、Launch文件2.1 功能2.2 文件语法2.3 参数服务器2.4 节点分组与重命名标签一、ROS常用概念 1.1 ROS 的结构 ROS 中有一些很重要的基础概念:节点&…

四、ref与DOM-findDomNode-unmountComponentAtNode

目标 理解react的框架使用中,真实dom存在的意义。 使用真实dom和使用虚拟dom的场景。 灵活掌握并能够合理使用操作真实dom的方法。 知识点 react中提供了ref这个属性来获取原生的dom节点,使用方式:在虚拟dom中添加ref属性,即可…

笔试强训(三十七)

目录一、选择题二、编程题2.1 mkdir2.1.1 题目2.1.2 题解2.2 数据库连接池2.2.1 题目2.2.2 题解一、选择题 (1)下面关于源端口地址和目的端口地址的描述中,正确的是(A) A.在TCP/UDP传输段中,源端口地址和目…

从内部失衡到外部失衡-中国视角下的宏观经济

从内部失衡到外部失衡 – 潘登同学的宏观经济学笔记 文章目录从内部失衡到外部失衡 -- 潘登同学的宏观经济学笔记国际金融复习全球失衡与储蓄过剩利用拉姆齐模型进行分析数值模拟外部失衡与国际收支危机国际支付工具的作用资产价格泡沫国际收支危机亚洲金融危机中国在亚洲金融危…

智能家居项目开发准备工作

智能家居代码机构——简单工厂模式: 什么是设计模式?百度百科解释: 软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设…

好心情精神心理平台:精神疾病怎样才算「治好」?医生和患者眼中的标准不一样!

精神疾病恢复到什么程度才算「治好」了? 很多患者朋友认为,症状消失就代表病好了,就可以停药了。 不是我吓唬你,如果你见症状好转就停药,那病情出现反复是必然结果。 实现疾病症状的消除,这只是达到了「临…

[附源码]java毕业设计驾校管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

[附源码]java毕业设计基于的疫苗预约系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

详解VSCode中C++工程配置

安装MinGW-w64及环境变量配置 下载MinGW-w64 可以通过官网直接进行下载在线安装包,然后在本地进行安装即可(但是基本都会由于网络超时等各种原因终止)。 因此这里建议直接下载 MinGW-w64 库解压,然后在系统中指定环境变量即可。…

低资源场景下的命名实体识别

Overview 低资源下的命名实体识别主要分为两个方面,一种是in-domain下的N-way-K-shot类型的少样本,一种是cross-domain下现在资源丰富的sourc-domain上进行微调,之后再迁移到低资源的target-domain进一步微调。 基于prompt的方法在少样本分…