批量管理服务器,批量分发文件

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/835309

一、批量管理

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

时间: 2025-01-21 12:16:33

批量管理服务器,批量分发文件的相关文章

使用Linux集群管理工具pssh批量管理服务器

当你有多台服务器,如果一台一台登录上去管理那就说不出的麻烦,所以批量管理工具就应运而生了.只要你设置了SSH无密码登录: ssh-keygen -t rsa ssh-copy-id user@host 将密钥分发到响应的host上就可以实现无密码ssh登录和操作了. pssh是使用Python编写的,运行它前需要确保机器上已经安装了Python环境. 使用wget下载编译安装: wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.ta

【Python之旅】第六篇(七):开发简易主机批量管理工具

通过前面对Paramiko模块的学习与使用,以及Python中多线程与多进程的了解,依此,就可以开发简易的主机批量管理工具了.     显然批量管理主机时,程序如果能并发执行功能是最好的,因为这样可以最大程度地利用CPU的性能,因此这就需要使用Python多线程或者多进程,基于学习的需要,这里主要使用多进程来进行开发,当然,这会存在一定问题,后面会说.     主要内容如下: 1 2 3 4 5 6 7 1.主机批量管理工具功能 2.设计框架 3.实现:数据库信息与程序源代码 4.实战演示 5.

新版云服务器批量管理操作

  如蓝框线所示,通过点选云服务器列表前的复选框可以多选云服务器.红线框中的按钮会根据所有选中的云服务器的当前状态呈现允许的操作.此时点击允许操作的按钮即可进行批量管理操作. 通过选择或不选择绿色框线所示的全选复选框,可以对所有云服务器进行全选或者取消全选.

学习tomcat之通过shell批量管理多个tomcat

一.业务需求 目前一台服务器上,部署了4个tomcat,也就相当于4个节点.平时在维护业务时,需要我们一个一个tomcat实例进行单独的维护,感觉很不方便,所以就有了这篇文章. 但是为了更方便的管理这4个tomcat,我这边做了两方面的工作,一是把所有的tomcat工作目录都指向另外单独的一个目录下,二是通过shell来启动.关闭和重启tomcat. PS:本次实验的测试OS为centos6.5 64bit,但是shell脚本也可以在ubuntu下使用. 二.修改tomcat工作目录 为了不一个

揭秘渗透测试利器:Webshell批量管理工具QuasiBot

声明:本文介绍的 安全工具仅用于渗透测试及安全教学使用,禁止任何非法用途QuasiBot是 一款php编写的webshell管理工具,可以对webshell进行远程批量管理.这个工具超越于普通的webshell管理 是因为其还拥有安全扫描.漏洞利用测试等功能,可以帮助渗透测试人员进行高效的测试工作.QuasiBot是如何工作的quasiBot 支持对webshell进行远程操作,每一个webshell都会通过md5 hash验证并且每小时替换一次quasiBot (C&C) -[请求/验证]-&g

linux批量管理推送工具mussh和pssh介绍

 mussh 是shell开发的一个小工具,pssh是python开发的一个用来批量管理linux主机的工具,现在我们来介绍mussh和pssh的使用方法.     先说下mussh,mussh 是shell开发的一个小工具,刚学习运维和shell的朋友可以拿来锻炼下,做个工具的二次开发. [root@devops-ruifengyun ~ ]$ apt-get install mussh 正在读取软件包列表... 完成 正在分析软件包的依赖关系树        正在读取状态信息... 完成  

如何批量管理网盘?

  现在网盘工具越来越多,越来越方便,可是如果你网盘过多管理起来也是一个麻烦,下面教你借助于工具,如何把重要资料一次性同步到多个不同的网盘中. 出于数据安全备份或网络办公的需要,小秦经常会将一些重要的文档放在多个网盘上进行管理,例如115网盘.SkyDrive.QQ文件中转站,不过每次都要在网页登录之后才能进行上传或下载,操作起来相当的繁琐.其实,借助"AsLocal网盘本地管理专家"(官方下载页面为http://aslocal.com/),小秦可以在本地轻松批量管理网盘. 完成安装之

应用-怎么样批量导入/写/读EXCEL文件模板

问题描述 怎么样批量导入/写/读EXCEL文件模板 怎么样批量导入/写/读EXCEL文件模板. ..??和Memcached的应用:系统启动.维护与管理,包括写同步.读和写应用 解决方案 不知道你用的什么语言,如果是java,可以使用poi这个库实现. 解决方案二: 可以用CSV,这样excel也能读取,同时你读写它就是简单的文本格式文件

Linux服务器批量执行工具 PSSH 安装与使用教程

操作一台服务器的时候可以 ssh,操作多台服务器可以开多个窗口多个 ssh,那操作很多台服务器呢? 我们的一个 Oracle Gird Engine 集群上大概有60多台 Ubuntu 服务器作执行节点,这些服务器操作系统和软件配置完全一样(上线后由 puppet 统一配置),有时候我们需要在这些服务器上做同样的操作,这个时候特别适合使用 PSSH 这种 ssh 批量操作工具. 当然,如果对 Python 不恐惧的话也可以用 Fabric 批量执行服务器任务. 下载和安装 pssh: $ git