配置免密鑰登錄
1、ssh-keygen -t rsa 生成公鑰和私鑰 -t 指定類型,此時會在/root/.ssh/下生成公鑰和私鑰的文件
2、ssh-copy-id -i /root/,ssh/id_rsa.pub root@192.168.111.138 將公鑰文件拷貝到另一台服務器,-i 指定組文件
3、此時會在另外一台服務器上生成auth文件。完成!
最小化安裝沒有ssh-copy-id解決辦法,yum install -y openssl-clients
pssh實例
pssh是一個可以在多台服務器上執行命令的工具,同時支持拷貝文件,是同類工具中很出色的。使用時必須在各個服務器上配置好秘鑰認證訪問
安裝方法
1、wget http://www.theether.org/pssh/pssh-1.4.3.tar.gz
2、解壓,進入目錄。python setup.py install
如果提示沒有setiptools模塊,解決辦法:
pssh -i -h list.txt ‘df -h’
ansible詳解、
ansible和saltstack都是管理工具,ansible只需要在一台普通服務器上運行即可,不需要在被管控的服務器上安裝客戶端,因為它是基於SSH的,所以ansible不需要配置額外的支持,運行ansible的服務器稱為‘管理節點’,通過ansible進行管理的服務器成為“受控節點”
優點:
1、輕量級,更新時,只需要在一台服務器上進行一次更新即可
2、采用SSH協議
3、不需要去客戶端執行agent
4、批量執行可以寫成腳本,不用分發到遠程就就可以執行
5:、使用python編寫,維護更簡單
6、支持sudo普通用戶命令
安裝方法
ansible能夠安裝到linux、bsd、mac等平台,python的最低版本要求為2.6
centos使用yum安裝,安裝之前先安裝perl源碼 rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install ansible -y
使用方法
cd /'etcansible; hosts文件為配置。可以添加分組
-u username 指定ssh鏈接的用戶名,即執行后面命令的用戶
-i inventory_fie 指定使用的配置文件,默認為hosts
-m module 指定使用的模塊,默認為command
-f 指定並發數
-a 指定模塊的參數
--sudo [-k] 當需要root權限執行的話,-k參數用來輸入root密碼
常見的模塊有comman、shell、script、yum、copy、file、async、docker、cron、mysql_user、ping、sysctl、user等
1、ansible 192.168.111.* -m command -a 'df -h'
2、 ansible all -m cpoy -a 'src=/etc/passwd dest=/tmp mode=755 owner=root'
3、ansible all -m yum -a "name=screen state=installed"
4、ansible all -m file -a "path=/tmp/`date +5F` state=directory mode=755"
5、ansible all -m file -a "path=/tmp/123.txt state=touch mode=644"
6、ansibkle all -m user -a "name=user1 home=/home/user1"
7、ansible all -m cron -a "minute=0 hour=0 day=* month=* weekday=* name='工作內容' job='/usr/sbin/ntpdate pool.ntp.org'"