目录
一、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. 实现数据传输