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模块,解决办法:

      3、wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz

     解压进入目录   python setup.py build;           python setup.py install

  pssh包的5个实用程序

  pssh  在多个主机上并行的运行命令

  pscp       把文件并行的复制多个主机上

  prsync  通过rsync协议把文件高效的并行复制到多个主机上

  pslurp  把文件并行的从多个主机上复制到中心机

  pnuke  并行的在多个主机上杀死进程

  参数详解  

    -h  执行命令的主机列表文件,格式  【user@】host【:port】

    -H  执行命令主机,格式 user@ip:port

    -l    远程机器的用户名,默认root

    -p  并发数

    -o  输出内容重定向一个文件  

    -e  执行错误重定向到一个文件

    -t  设置命令执行超时时间

    -A  提示输入密码并且把密码传递给ssh

    -i  显示标准输出和标准错误在每台host执行完毕后

  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'"  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

福海鑫森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值