集群06-ssh批量管理分发项目实战
架构图
1、 创建用户名和密码
[root@m01 ~]# useradd oldgirl
[root@m01 ~]# echo "000000" |passwd oldgirl –stdin
[root@backup ~]# useradd oldgirl
[root@backup ~]# echo "000000" |passwd oldgirl –stdin
[root@nfs01 ~]# useradd oldgirl
[root@nfs01 ~]# echo "000000" |passwd oldgirl –stdin
[root@web01 ~]# useradd oldgirl
[root@web01 ~]# echo "000000" |passwd oldgirl –stdin
切换到oldgirl用户
[root@m01 ~]# su - oldgirl
[root@backup ~]# su - oldgirl
[root@nfs01 ~]# su - oldgirl
[root@web01 ~]# su – oldgirl
2、在m01管理机上生成私钥
[oldgirl@m01 ~]$ ssh-keygen -t dsa
查看生成的私钥和公钥
[oldgirl@m01 ~]$ ll .ssh/
总用量 8
-rw------- 1 oldgirl oldgirl 672 4月 8 14:44 id_dsa
-rw-r--r-- 1 oldgirl oldgirl 601 4月 8 14:44 id_dsa.pub
非交互式一键生成私钥:
[oldgirl@m01 .ssh]$ ssh-keygen -t dsa -P ''-f ~/.ssh/id_dsa &> /dev/null
3、m01分发公钥
[oldgirl@m01 ~]$ ssh-copy-id -i.ssh/id_dsa.pub oldgirl@172.16.1.8
[oldgirl@m01 ~]$ ssh-copy-id -i.ssh/id_dsa.pub oldgirl@172.16.1.31
[oldgirl@m01 ~]$ ssh-copy-id -i .ssh/id_dsa.puboldgirl@172.16.1.41
4、测试
[oldgirl@m01 tmp]$ vim view_ip.sh
ssh oldgirl@172.16.1.8 /usr/sbin/ifconfigens33
ssh oldgirl@172.16.1.31 /usr/sbin/ifconfigens33
ssh oldgirl@172.16.1.41 /usr/sbin/ifconfigens33
[oldgirl@m01 tmp]$ ./view_ip.sh
5、提权的方式
(1)以root身份创建ssh key(略)
(2)sudo提权
Root身份分别进入nfs01、backup、web01
添加sudoers授权:
echo 'oldgirl ALL=(ALL) NOPASSWD:/usr/bin/rsync,/usr/bin/cp' >> /etc/sudoers
切换到oldgirl用户
su – oldgirl
在m01管理机上操作:
[oldgirl@m01 ~]$ scp /etc/hosts oldgirl@172.16.1.8:~
或者使用rsync加密模式
[oldgirl@m01 ~]$ rsync -avz /etc/hosts -e'ssh' oldgirl@172.16.1.8:/tmp/
[oldgirl@m01 ~]$ ssh -t oldgirl@172.16.1.8 sudo rsync ~/hosts /etc/hosts
(3)使用suid(了解,略)