问题
rsync客户端创建密码文件时,不需要写用户名,只需要写密码
1.为什么要做共享储存
如果做客户端的web实时同步的话,则每台都要做重复的内容,浪费空间。
2.每台web都是rsync和sersync的服务端和客户端。
3.备份可以做NFS的高可用,解决单点故障
目前服务:
只要会搭建、配置,用起来简单
后面的服务:
搭建,配置,(深入)使用
# 端口号
ftp:21
ssh:22
telnet:23
rsync:873
更换协议需要更换端口号
# SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全。
ssh
服务会对传输数据进行加密, 监听在本地22/tcp
端口, ssh
服务默认支持root
用户登录
telnet
服务不对数据进行加密, 监听在本地23/tcp
端口, Telnet
默认不支持root
用户登录
服务连接方式 | 服务数据传输 | 服务监听端口 | 服务登陆用户 |
---|---|---|---|
ssh | 加密 | 22/tcp | 默认支持root用户登陆 |
telnet | 明文 | 23/tcp | 不支持root用户登陆 |
使用wireshark
可以验证telnet
明文传输与ssh
加密传输
# ssh 远程登录
ssh root@10.0.0.41 -p 22
ssh root@driverzeng.com -p 22
-p:指定端口
root:远程连接的用户
@:只是一个分隔符
10.0.0.41:远程连接的主机IP
# scp 远程拷贝
例如:
[root@m01 ~]# scp /root/jump.sh root@172.16.1.41:/root/
# -P 指定端口,默认22端口可不写
# -r 表示递归拷贝目录
# -p 表示在拷贝文件前后保持文件或目录属性不变
# -l 限制传输使用带宽(默认kb)
# 结论:
1.scp通过ssh协议加密方式进行文件或目录拷贝。
2.scp连接时的用户作为为拷贝文件或目录的权限。
3.scp支持数据推送和拉取,每次都是全量拷贝,效率较低。
流程
在跳板机上,创建一个秘钥对
公钥(锁)
私钥(钥匙)
方法 1
## 发送公钥(需要知道root密码)
# 1.创建秘钥对
[root@web01 ~]# ssh-keygen
# 2.发送公钥
[root@web01 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.16.1.41
方法 2
## 发送公钥(不需要知道root密码)
# 1.查看公钥
[root@web01 .ssh]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3s+CqG3ViPUFtUmaYzX43qaBZ7gZOxiYYD8zIRBW5MIEDsyJ8MB5jQmq+0p9o1GTOlxDGdjrzsT9OTMVqnhBuETQ7CnlVGuFh6P0X5n+9DmsBl039Z7q43pfl6hbRJtoOF0enGKqiR5TFP/F0HmpDt/ILqX0qi80MIO6h+LrNEHPcS19t4WRb513spYz7XisEF3GW2Udpk2+4Rh4EbJaF52OdqP/ER8nGHDv1RnrFHwFZoH/PsiGFLmLFg1JPQziLYCe+Wy6OIfow96dQ5cMtW9OLtZKa3oI7qKxcJO53MV6YMCNTQ1uwpJyRIU9W8Du4tRSmWohRaLtmLfHrWVO9 root@web01
# 2.创建.ssh目录
[root@lb01 ~]# mkdir /root/.ssh
# 3.编辑公钥文件
[root@lb01 ~]# vim /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3s+CqG3ViPUFtUmaYzX43qaBZ7gZOxiYYD8zIRBW5MIEDsyJ8MB5jQmq+0p9o1GTOlxDGdjrzsT9OTMVqnhBuETQ7CnlVGuFh6P0X5n+9DmsBl039Z7q43pfl6hbRJtoOF0enGKqiR5TFP/F0HmpDt/ILqX0qi80MIO6h+LrNEHPcS19t4WRb513spYz7XisEF3GW2Udpk2+4Rh4EbJaF52OdqP/ER8nGHDv1RnrFHwFZoH/PsiGFLmLFg1JPQziLYCe+Wy6OIfow96dQ5cMtW9OLtZKa3oI7qKxcJO53MV6YMCNTQ1uwpJyRIU9W8Du4tRSmWohRaLtmLfHrWVO9 root@web01
# 4.授权
[root@lb01 ~]# chmod 600 /root/.ssh/authorized_keys
# 5.修改.ssh目录权限
[root@lb01 ~]# chmod 700 /root/.ssh/
windows客户端也可以使用Xshell生成秘钥对
1.跳板机
# 写脚本
[root@m01 ~]# vim jump.sh
lb02=172.16.1.6
web01=172.16.1.7
web02=172.16.1.8
web03=172.16.1.9
nfs=172.16.1.31
backup=172.16.1.41
db01=172.16.1.51
m01=172.16.1.61
zabbix=172.16.1.71
cat <<EOF
+-------------------------+
| 1) lb01 |
| 2) lb02 |
| 3) web01 |
| 4) web02 |
| 5) web03 |
| 6) nfs |
| 7) backup |
| 8) db01 |
| 9) m01 |
| 10) zabbix |
| h) help |
+-------------------------+
EOF
read -p ‘Please Input Number: ‘ num
if [ $num -eq 1 ];then
ssh root@$lb01
elif [ $num -eq 2 ];then
ssh root@$lb02
elif [ $num -eq 3 ];then
ssh root@$web01
elif [ $num -eq 4 ];then
ssh root@$web02
elif [ $num -eq 5 ];then
ssh root@$web03
elif [ $num -eq 6 ];then
ssh root@$nfs
elif [ $num -eq 7 ];then
ssh root@$backup
elif [ $num -eq 8 ];then
ssh root@$db01
elif [ $num -eq 9 ];then
ssh root@$m01
elif [ $num -eq 10 ];then
ssh root@$zabbix
fi
要求
1.在m01上免密连接其他所有机器
2.尝试写一个跳板机的脚本
[root@m01 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh‘.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:yD0Fa7Wavy3o8itrzU2T8biTJrJrlt2XRllczoOv98A root@m01
The key‘s randomart image is:
+---[RSA 2048]----+
| . . |
| + . .|
| o o ..+ |
| . + +. .o.o|
| o S = o. .|
| o= +. . |
| = =.= .E |
| O * Oo+. o |
| ++X++.=. . o|
+----[SHA256]-----+
[root@m01 ~]# vim lianjie.sh
#!/bin/bash
for i in 5 6 7 8 9 31 41 51 52 53 54 61 71 ;do
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.16.1.$i
done
[root@m01 ~]# sh lianjie.sh
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.16.1.71‘s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh ‘root@172.16.1.71‘"
and check to make sure that only the key(s) you wanted were added.
一直在root@172.16.1.71‘s password:输入密码就行
想了一晚上不会,还是就这样吧,沃土了
2.写一个跳板机
# 写脚本
[root@m01 ~]# vim jump.sh
lb02=172.16.1.6
web01=172.16.1.7
web02=172.16.1.8
web03=172.16.1.9
nfs=172.16.1.31
backup=172.16.1.41
db01=172.16.1.51
m01=172.16.1.61
zabbix=172.16.1.71
cat <<EOF
+-------------------------+
| 1) lb01 |
| 2) lb02 |
| 3) web01 |
| 4) web02 |
| 5) web03 |
| 6) nfs |
| 7) backup |
| 8) db01 |
| 9) m01 |
| 10) zabbix |
| h) help |
+-------------------------+
EOF
read -p ‘Please Input Number: ‘ num
if [ $num -eq 1 ];then
ssh root@$lb01
elif [ $num -eq 2 ];then
ssh root@$lb02
elif [ $num -eq 3 ];then
ssh root@$web01
elif [ $num -eq 4 ];then
ssh root@$web02
elif [ $num -eq 5 ];then
ssh root@$web03
elif [ $num -eq 6 ];then
ssh root@$nfs
elif [ $num -eq 7 ];then
ssh root@$backup
elif [ $num -eq 8 ];then
ssh root@$db01
elif [ $num -eq 9 ];then
ssh root@$m01
elif [ $num -eq 10 ];then
ssh root@$zabbix
fi
测试
[root@m01 ~]# sh jump.sh
+-------------------------+
| 1) lb01 |
| 2) lb02 |
| 3) web01 |
| 4) web02 |
| 5) web03 |
| 6) nfs |
| 7) backup |
| 8) db01 |
| 9) m01 |
| 10) zabbix |
| h) help |
+-------------------------+
Please Input Number: 4
Last failed login: Tue May 12 06:38:00 CST 2020 from 172.16.1.61 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Tue May 12 05:16:12 2020
# 完成
原文:https://www.cnblogs.com/jkz1/p/13028315.html