在推进ansible用于配置管理与自动部署,其中一个很困扰的问题是创建ssh通道很慢,虽然ansible在同一个task里面是并行的控制多台受控端.但是每一个task都需要和受控端创建ssh通道,非常影响效率.今天决定把它解决了.

看了一下官网,提及到了openssh的ControlPersist特性可以优化,查了一下,其实就是持久化socket,一次验证多次通信.并且只需要修改ssh client就行了.

支持这个特性需要比较新的openssh,那需要自己编译一个,那我们来自己弄个RPM包吧.

制作openssh rpm包

1.配置好编译机的环境

mkdir -pv /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS,TMP}
yum -y install tcp_wrappers tcp_wrappers-devel tcp_wrappers-libs openssl

2.制作rpm

cd /root/rpmbuild/SOURCES/.
wget http://mirror.team-cymru.org/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz
wget http://mirror.team-cymru.org/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz.asc cd ../SPECS/
tar xfz ../SOURCES/openssh-6.6p1.tar.gz openssh-6.6p1/contrib/redhat/openssh.spec
mv openssh-6.6p1/contrib/redhat/openssh.spec openssh-6.6p1.spec
rm -rf openssh-6.6p1
sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh-6.6p1.spec
sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" openssh-6.6p1.spec
sed -i -e "s/BuildPreReq/BuildRequires/g" openssh-6.6p1.spec
chown 74:74 openssh-6.6p1.spec rpmbuild -ba openssh-6.6p1.spec

3.如无意外就制作好了

[root@compiler SPECS]# ll ../RPMS/x86_64/openssh-*
-rw-r--r-- 1 root root 417244 Jul 12 12:39 ../RPMS/x86_64/openssh-6.6p1-1.x86_64.rpm
-rw-r--r-- 1 root root 547696 Jul 12 12:39 ../RPMS/x86_64/openssh-clients-6.6p1-1.x86_64.rpm
-rw-r--r-- 1 root root 17020 Jul 12 12:39 ../RPMS/x86_64/openssh-debuginfo-6.6p1-1.x86_64.rpm
-rw-r--r-- 1 root root 374256 Jul 12 12:39 ../RPMS/x86_64/openssh-server-6.6p1-1.x86_64.rpm

开始配置ansible的控制端

安装新版本的openssh

rpm -qa |grep openssh |xargs rpm -e --nodeps --justdb #先卸载旧的openssh
rpm -ivh /tmp/openssh-*

最新文章

  1. iOS--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook等系统服务开发汇总
  2. 【P1915】[usaco09 dec gold]电视游戏问题
  3. Java Web编程的主要组件技术——Struts入门
  4. Java多线程(二) 多线程的锁机制
  5. 【转】Xcode常用快捷键与技巧分享
  6. Node.js之错误处理与断言处理
  7. ADO.NET复习总结(4)--访问SqlServer的类
  8. DCT(离散余弦变换)算法原理和源码(python)
  9. 流程控制之for
  10. ModSecurity is an open source, cross-platform web application firewall (WAF) module.
  11. this 指向 及 调用方式
  12. Android 开源库和项目 3
  13. linux内核分析 第五周读书笔记
  14. 使用linux mysql客户端建立表时遇到格式解析的问题
  15. 摄像头的管理(camera) ---- HTML5+
  16. Python背景知识——学习笔记
  17. 使用docker部署STF服务(CentOS环境)
  18. pthread thread mutex synchronous asynchronous communication
  19. 查询linux服务器有哪些IP在连接
  20. [BZOJ] 2044: 三维导弹拦截

热门文章

  1. python爬取某站磁力链
  2. iframe父页面和子页面获取元素和js变量
  3. 解决ajax跨域
  4. 8.4 GOF设计模式三: 外观模式 Facade
  5. 安装weblogic
  6. 【js】【图片瀑布流】js瀑布流显示图片20180315
  7. sys 模块的应用
  8. PHP:第一章——PHP中的变量002
  9. mysql源码版安装
  10. day21_python_1124