一、批量管理
1.配置问密码登陆
[root@localhost ~]# ssh-keygen -t dsa(生成密钥)
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
21:e3:80:d8:34:10:6c:26:8b:4c:72:fc:02:26:e5:8d root@localhost.localdomain
[root@localhost ~]#
[root@localhost ~]# ssh-copy-id -i .ssh/id_dsa.pub 119.147.146.245(拷贝公钥到要登陆的服务器)
15
The authenticity of host '119.147.146.245 (119.147.146.245)' can't be established.
RSA key fingerprint is ba:7d:60:44:63:6c:f6:6a:9b:4b:ad:94:1b:98:2b:58.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '119.147.146.245' (RSA) to the list of known hosts.
root@119.147.146.245's password:
Now try logging into the machine, with "ssh '119.147.146.245'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[root@localhost ~]# ssh 119.147.146.245 ifconfig(远程查看单台服务器的IP)
eth0 Link encap:Ethernet HWaddr 00:50:56:88:0F:01
inet addr:119.147.146.245 Bcast:119.147.146.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe88:f01/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18264423 errors:0 dropped:0 overruns:0 frame:0
TX packets:1716785 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7166025790 (6.6 GiB) TX bytes:162270128 (154.7 MiB)
Base address:0x2000 Memory:d8920000-d8940000
远程查看多台服务器的信息箱
[root@localhost tmp]# echo 119.147.146.245 >>iplist(生成IP列表)
[root@localhost tmp]# echo 119.147.146.249 >>iplist
[root@localhost tmp]# echo 119.147.146.248 >>iplist
[root@localhost tmp]# vi manger.sh(撰写脚本)
#!/bin/bash
for ip in `cat iplist`
do
echo "$ip----------------------------------------"
ssh $ip $1
done
[root@localhost tmp]# sh manger.sh df -h(远程查看多台服务器的硬盘信息)
119.147.146.245----------------------------------------
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroupRoot-LogVolRoot
14093368 3488436 9877484 27% /
/dev/sda1 101086 19012 76855 20% /boot
tmpfs 513468 0 513468 0% /dev/shm
/dev/sda5 53050708 185320 50170488 1% /mfsdata1
/dev/sda6 39065388 968620 36112344 3% /mfsdata2
/dev/sda7 39998020 968620 36997584 3% /mfsdata3
119.147.146.249----------------------------------------
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroupRoot-LogVolRoot
10125560 3941852 5661060 42% /
/dev/mapper/VolGroupData-LogVolData
14220336 553532 12932804 5% /data
/dev/mapper/VolGroupData-LogVolLogs
4951688 141196 4554904 4% /data/logs
/dev/sda1 101086 12922 82945 14% /boot
tmpfs 513068 0 513068 0% /dev/shm
119.147.146.248----------------------------------------
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroupRoot-LogVolRoot
10125560 4159936 5442976 44% /
/dev/mapper/VolGroupData-LogVolData
14220336 189528 13296808 2% /data
/dev/mapper/VolGroupData-LogVolLogs
4951688 141208 4554892 4% /data/logs
/dev/sda1 101086 21349 74518 23% /boot
tmpfs 513068 0 513068 0% /dev/shm
[root@localhost tmp]# sh manger.sh free -m(远程查看多台服务器的内存使用情况)
119.147.146.245----------------------------------------
total used free shared buffers cached
Mem: 1026936 885652 141284 0 68036 711216
-/+ buffers/cache: 106400 920536
Swap: 4194296 108 4194188
119.147.146.249----------------------------------------
total used free shared buffers cached
Mem: 1026140 1016284 9856 0 154076 690928
-/+ buffers/cache: 171280 854860
Swap: 1052248 88 1052160
119.147.146.248----------------------------------------
total used free shared buffers cached
Mem: 1026140 977656 48484 0 48076 758976
-/+ buffers/cache: 170604 855536
Swap: 1052248 8 1052240
[root@localhost tmp]# sh manger.sh "useradd admin"(批量建用户)
119.147.146.245----------------------------------------
119.147.146.249----------------------------------------
119.147.146.248----------------------------------------
[root@localhost tmp]# sh manger.sh "echo 'king+5688'|passwd --stdin admin"(批量更改密码)
119.147.146.245----------------------------------------
Changing password for user admin.
passwd: all authentication tokens updated successfully.
119.147.146.249----------------------------------------
Changing password for user admin.
passwd: all authentication tokens updated successfully.
119.147.146.248----------------------------------------
Changing password for user admin.
passwd: all authentication tokens updated successfully.
二、批量分发
[root@localhost tmp]# cat fenfa.sh (撰写脚本)
#!/bin/bash
for ip in `cat iplist`
do
echo "$ip----------------------------------------"
scp -r -p $1 $ip $2
done
[root@localhost tmp]# sh fenfa.sh /etc /tmp/(把/etc目录拷贝到多台远程服务器上的/tmp下
[root@localhost tmp]# ls(验证)
etc
三、通过普通用户实现远程分发文件,远程管理
1.新建普通用户admin 密码:123456
[root@localhost tmp]# sh manger.sh "useradd admin"(批量建用户)
119.147.146.245----------------------------------------
119.147.146.249----------------------------------------
119.147.146.248----------------------------------------
2.生成密钥拷贝到对端
[admin@localhost ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_dsa):
Created directory '/home/admin/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/admin/.ssh/id_dsa.
Your public key has been saved in /home/admin/.ssh/id_dsa.pub.
The key fingerprint is:
00:1f:1c:fa:a2:e0:79:cc:a4:24:92:47:de:3e:bf:fb admin@localhost.localdomain
[admin@localhost .ssh]$ ssh-copy-id -i id_dsa.pub 119.147.146.245
10
The authenticity of host '119.147.146.245 (119.147.146.245)' can't be established.
RSA key fingerprint is ba:7d:60:44:63:6c:f6:6a:9b:4b:ad:94:1b:98:2b:58.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '119.147.146.245' (RSA) to the list of known hosts.
admin@119.147.146.245's password:
Now try logging into the machine, with "ssh '119.147.146.245'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
3.撰写脚本(和上面的一样)
[admin@localhost ~]$ ls
fenfa.sh iplist manger.sh
4.测试
拷贝本地的/etc目录到多台远程服务器的/tmp目录下
[admin@localhost ~]$ su - root /home/admin/fenfa.sh /etc /tmp
Password: (输入root密码)
119.147.146.245----------------------------------------
mime.types 100% 14KB 13.8KB/s 00:00
virc 100% 1533 1.5KB/s 00:00
.bashrc 100% 124 0.1KB/s 00:00
.bash_profile 100% 176 0.2KB/s 00:00
.bash_logout 100% 33 0.0KB/s 00:00
.zshrc 100% 658 0.6KB/s 00:00
查看远程服务器内存使用情况
[admin@localhost ~]$ su - root /home/admin/manger.sh "free -m"
Password: (输入root密码)
119.147.146.245----------------------------------------
total used free shared buffers cached
Mem: 1002 966 36 0 86 756
-/+ buffers/cache: 123 879
Swap: 4095 0 4095
119.147.146.249----------------------------------------
total used free shared buffers cached
Mem: 1002 951 50 0 146 676
-/+ buffers/cache: 129 872
Swap: 1027 0 1027
119.147.146.248----------------------------------------
total used free shared buffers cached
Mem: 1002 962 40 0 60 739
-/+ buffers/cache: 162 839
Swap: 1027 0 1027
其实用普通用户做批量管理,批量分发就是多了一步输入root的密码的步骤,这样做的目的是为了安全
本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/835309