远程服务原理及配置
1)远程服务概念介绍
2)远程服务通讯原理秘钥概念:
1)基于秘钥可以实现对数据加密与解密处理
2)基于秘钥可以实现访问者身份认证
A主机(客户端) B主机(服务端SSH)
a.发送建立连接请求 b.会将一个秘钥信息发送给客户端(公钥信息>
c.接收公钥信息并进行密码验证 d.接收用户建立连接请求
e.产生数据信息(加密处理--公钥) f.接收到加密的数据(解密处理--私钥)
g.接收响应数据信息(解密处理---公钥) h.响应数据信息进行发送(加密处理---私钥)
A主机(客户端) B主机(服务端SSH)
a.发送建立连接请求 b.会将一个秘钥信息发送给客户端(公钥信息)
c.接收公钥信息并进行密码验证 d.接收用户建立连接请求
e.创建新的秘钥文件(私钥/公钥) f.会接收到公钥文件信息
g.将创建好的公钥信息进行发送
--- - - - - ----- --- - +- -- - -- - - --- --------------------------
a.发送建立连接请求 b.进行公钥质询过程(公钥==锁)
c.利用自身私钥解密公钥 d.确认客户端身份实现连接建立
3)远程服务配置
`创建公私钥`
[root@m01 ~]
`分发公钥`
[root@m01 .ssh]
[root@m01 .ssh]
[root@m01 .ssh]
`用ssh管理server02`
[root@m01 .ssh]
`编写脚本批量管理`
[root@m01 script]
#!/bin/bash
for ip in {98..100}
do
echo -e "\033[32m ==操作的主机是172.16.1.$ip== \033[0m"
ssh 172.16.1.$ip "$1"
echo "----------------------------------------------------"
done
[root@m01 script]
==操作的主机是172.16.1.98==
3: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:e3:51:1c brd ff:ff:ff:ff:ff:ff
inet 172.16.1.98/24 brd 172.16.1.255 scope global noprefixroute ens39
valid_lft forever preferred_lft forever
inet6 fe80::c7e0:5f94:873b:22d5/64 scope link tentative noprefixroute dadfailed
valid_lft forever preferred_lft forever
inet6 fe80::d3b:51ce:4b76:7a33/64 scope link tentative noprefixroute dadfailed
valid_lft forever preferred_lft forever
inet6 fe80::ad47:cc00:a2ee:a686/64 scope link tentative noprefixroute dadfailed
valid_lft forever preferred_lft forever
----------------------------------------------------
==操作的主机是172.16.1.99==
3: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:34:db:e6 brd ff:ff:ff:ff:ff:ff
inet 172.16.1.99/24 brd 172.16.1.255 scope global noprefixroute ens39
valid_lft forever preferred_lft forever
inet6 fe80::c7e0:5f94:873b:22d5/64 scope link tentative noprefixroute dadfailed
valid_lft forever preferred_lft forever
inet6 fe80::d3b:51ce:4b76:7a33/64 scope link tentative noprefixroute dadfailed
valid_lft forever preferred_lft forever
inet6 fe80::ad47:cc00:a2ee:a686/64 scope link noprefixroute
valid_lft forever preferred_lft forever
----------------------------------------------------
==操作的主机是172.16.1.100==
3: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:d6:ad:43 brd ff:ff:ff:ff:ff:ff
inet 172.16.1.100/24 brd 172.16.1.255 scope global noprefixroute ens39
valid_lft forever preferred_lft forever
inet6 fe80::c7e0:5f94:873b:22d5/64 scope link noprefixroute
valid_lft forever preferred_lft forever
----------------------------------------------------
问题1:怎么编写脚本批量将m01的公钥分发给所有主机
[root@m01 script]
#!/bin/bash
for ip in {98..100}
do
sshpass -p[密码信息] ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.$ip -o StrictHostKeyChecking=no &>/dev/null
if [ $? -eq 0 ]
then
echo "主机172.16.1.${ip}分发成功!!"
else
echo "主机172.16.1.${ip}分发失败@@@"
fi
done
问题2:怎么实现m01并发管理所有主机
解决方法:通过ansible管理