首页 > 代码库 > ssh和pssh以及ansible技术
ssh和pssh以及ansible技术
配置免密钥登录
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=http://www.mamicode.com/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‘"
ssh和pssh以及ansible技术