跟蜗牛一起了解ssh远程和rsync命令

所谓ssh: 就是secure shell protocol, 22/tcp, 安全的远程登录,实现加密通信,代替传统的 telnet 协议

在目前生产中,这是非常常用,而且非常重要的一个工具。

在这之前,先了解一下他的原理:
跟蜗牛一起了解ssh远程和rsync命令_第1张图片
,**1,客户端第一次连接服务器 要求提供公钥(服务器提供公钥和会话ID 给客户,无法确保安全)
2,客户端收到后将异或运算得到的结果res,用服务端公钥进行加密(服务器私钥才能解)
发送给服务端后,服务端用私钥解密,得到Res
(服务端得到客户端公钥:服务端用解密后的值Res异或会话ID,计算出客户端公钥
,3,最后,双方各有三个秘钥,分部自己两个 和对方公钥,后续所有通讯都会被加密)
(服务端公钥存放在磁盘里,而客户端是临时生成)**这也最大程度的确保了它的安全性

这里需要了解的是:”验证链接的是否正确的主机:对比他们的哈希值即可

在进行远程操作之前,准备工作不可少,提前配置好本地源,安装好所有应用工具,比如vim、 ssh、rsync
配置本地源步骤,之前已经有发,有兴趣的可以观赏
https://blog.csdn.net/Lcongming/article/details/116031391?spm=1001.2014.3001.5501

而为了方便实验,我用两台主机作为试验机,
主机是centos 8的系统 10.0.0.10
另外一台是centos7的系统 10.0.0.3

首先来了解远程链接:
1,在远程主机上创建一个文本:vim test.sh
创建一些需要操作的命令
在这里插入图片描述
2.,执行ssh 10.0.0.3 /bin/bash < test.sh
这里我是用centos8的系统作为操作主机,直接在8系统上直接操作
执行结果如下图一
图二是在7系统上查询的结果,
是不是很神奇,结果一样,说明远程操作成功

图一
跟蜗牛一起了解ssh远程和rsync命令_第2张图片
图二:
跟蜗牛一起了解ssh远程和rsync命令_第3张图片
但是ssh最让人推崇的原因,绝不仅仅是上面这个操作这么简单。以目前我的理解,我更喜欢它下面的这个功能

SCP命令

用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的
示例:
1,在data下执行dd if=/dev/zero of=f1.img bs=1M count=100 连续三次 创建f1 f2 f3三个文件
跟蜗牛一起了解ssh远程和rsync命令_第4张图片
2,然后创建一个文件夹test 将三个文件都放进文件夹
执行:mv f test/ (说明:f后面的是通配符,f*意思是 所有f开头的文件)**
跟蜗牛一起了解ssh远程和rsync命令_第5张图片
3.执行: scp -r test/ 10.0.0.3:/data {需要注意的是这里加-r (递归) 意思是将文件夹文件一起拷贝 而3后面的是冒号 : 不是分号}
可以从下图看出,包括文件夹和三个文件,在输完密码后都全部拷贝到了10.0.0.3这台centos7的主机上:
在这里插入图片描述
4,这个时候查看ip为10.0.0.3的centos7的主机,可以清楚的看到刚刚从centos8拷贝过来的文件.
跟蜗牛一起了解ssh远程和rsync命令_第6张图片
5:上面这个SCP的拷贝方法,个人感觉确实很好用,
但是如果出现数据变化的情况,如下图

变化前
跟蜗牛一起了解ssh远程和rsync命令_第7张图片
执行操作,让f1.img文件数据变化
在这里插入图片描述
变化后
在这里插入图片描述
执行scp拷贝
在这里插入图片描述
当其中一个文件数据更新了后,要进行更新,执行后我们会发现,只是其中一个文件有变化,但是它还 是全部拷贝了一遍,这样是非常低效率的

所以,rsync工具可以基于ssh和rsync协议实现高效率的远程系统之间复制文件,使用安全的shell连接做为传输方式,比scp更快,基于增量数据同步,即只复制两方不同的文件,此工具来自于rsync包
(需要注意的是:通信两端主机都需要安装 rsync软件)

我个人看来 rsync之所以优于scp的一点在于,它只拷贝更新后的数据。

了解一下主要使用语法

rsync -av /etc server1:/tmp #复制目录和目录下文件

rsync -av /etc/ server1:/tmp #只复制目录下文件

示例
1:只更新f1文件的数据 ,执行命令 rsync -av /data/test/ 10.0.0.3:/data
只有有数据变更的f1被拷贝
跟蜗牛一起了解ssh远程和rsync命令_第8张图片
在centos7里查看拷贝结果,已经拷贝成功
跟蜗牛一起了解ssh远程和rsync命令_第9张图片
在这里需要注意的是:test后不加加/ 表示文件夹一起复制,加/表示只是复制里面的文件)

谢谢观赏

你可能感兴趣的:(技术分享,linux,centos,运维,ssh,rsync)