适用场景
1 | 有这样一个生产场景: zabbix-agent只在server1服务器有安装并提供监控服务,想使用这一台server1服务器通过编写shell脚本去监控其他服务器运行的服务,比如:服务运行状态、log日志统计并发等等。如何做? |
场景分析
1 | server1需要与其他server创建SSH互信,shell中通过ssh来远程登陆到其他服务器来执行命令。那么问题来了?命令执行完成,如何在shell中退出并将命令执行后的结果返回到server1中,并让zabbix去监控呢? |
案例
将server1的密钥上传到101服务器实现ssh互信
1 | 首先在server1以root命令生成SSH密钥 |
在101服务器生成密钥上传到server1服务器,实现反向ssh互信
1 | 在101服务器,生成dsa密钥,并上传到server1服务器,实现互信。 |
脚本编写
1 | 接下来就可以愉快的在server1编写所需的shell脚本了,范例如下: |
1 | #!/bin/bash |
1 | 脚本逻辑: |
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2018/08/31/shell脚本中嵌入ssh无密钥登陆/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!