NFS 批量管理 分发

1、所有机器创建用户及密码
useradd oldgirl
echo 123456|passwd --stdin oldgirl
id oldgirl
su - oldgirl
2、m01创建密钥对
ssh-keygen -t dsa 一路回车
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa >/dev/null 2>&1
3、m01分发公钥
ssh默认22端口
ssh-copy-id -i .ssh/id_dsa.pub oldgirl@172.16.1.41
更改过的ssh端口
ssh-copy-id -i .ssh/id_dsa.pub "-p 52113 oldgirl@172.16.1.31"
4、测试
ssh -p52113 oldgirl@172.16.1.31 /sbin/ifconfig eth0
ssh -p52113 oldgirl@172.16.1.41 /sbin/ifconfig eth0
ssh -p52113 oldgirl@172.16.1.8 /sbin/ifconfig eth0
成功标志!连接所有的机器,不提示密码直接可以操作。
 
企业里实现ssh方案:3种
1、直接root ssh key。
条件:允许root ssh登录。
 
2、sudo提权实现没有权限用户拷贝
配置sudoers:
echo "oldgirl  ALL=   NOPASSWD: /usr/bin/rsync" >>/etc/sudoers
visudo -c
 
scp -P52113 hosts oldgirl@172.16.1.41:~
远程sudo:ls 
ssh -p52113 -t oldgirl@172.16.1.41 sudo rsync ~/hosts /etc/hosts
3、利用suid实现没有权限用户拷贝(做思维扩展了解)
172.16.1.31:
chmod u+s `which rsync`
 
scp -P52113 hosts oldgirl@172.16.1.31:~
ssh -p52113 oldgirl@172.16.1.31 rsync ~/hosts /etc/hosts
 
rsync -avz hosts -e 'ssh -p 52113' oldgirl@172.16.1.41:~
1、增量
2、加密
 
非交互式生成密钥及实现批量管理:
1、所有机器创建用户及密码
useradd oldgirl888
echo 123456|passwd --stdin oldgirl888
id oldgirl888
su - oldgirl888
2、m01创建密钥对
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa >/dev/null 2>&1
 
3、分发密钥
ssh-copy-id -i .ssh/id_dsa.pub "-p 52113 oldgirl@172.16.1.31"
 
 
 
#一键给多台服务器安装httpd服务:
useradd gongli
echo 123456|passwd --stdin gongli
id gongli
#2、sudo提权实现没有权限用户拷贝
#配置sudoers:
echo "gongli  ALL=   NOPASSWD: ALL" >>/etc/sudoers
visudo -c
su - gongli
 
 
 
[oldgirl@m01 ~]$ cat m.sh
 ssh -p22 oldgirl@172.16.1.41 /sbin/ifconfig eth1 
 ssh -p22 oldgirl@172.16.1.31 /sbin/ifconfig eth1 
 ssh -p52113 oldgirl@172.16.1.8 /sbin/ifconfig eth1 
[oldgirl@m01 ~]$ scp -P22 -rp /data oldgirl@172.16.1.31:~
[oldgirl@m01 ~]$ scp -P22 -rp /data oldgirl@172.16.1.31:~
[oldgirl@m01 ~]$ scp -P22 -rp /data oldgirl@172.16.1.31:~
 
 
#!/bin/sh
. /etc/init.d/functions
i   echo "USAGE:$0 filename DST"
   exit 1
fi
 
for n in 31 41
do
  scp -P22 -rp $1 oldgirl@172.16.1.$n:~ &>/dev/null &&\
  ssh -p22 -t oldgirl@172.16.1.$n sudo rsync ~/$1 /$2/ &>/dev/null
  if [ $? -eq 0 ];then
   action "172.16.1.$n" /bin/true
  else
   action "172.16.1.$n" /bin/false
  fi
done
 
 
 [oldgirl@m01 ~]$ cat view.sh 
#!/bin/sh
. /etc/init.d/functions
if [ $# -ne 1 ];then
   echo "USAGE:$0 cmd"
   exit 1
fi

for n in 31 41
do
  echo "------172.16.1.$n---------"
  ssh -p22 -t oldgirl@172.16.1.$n $1
done
posted @ 2018-03-08 10:22  秋天的风吹过原野  阅读(203)  评论(0编辑  收藏  举报