通过SSH协议访问远程Shell脚本-免密码登陆与返回数据丢失解决
来源:互联网 发布:深圳云智数据 编辑:程序博客网 时间:2024/06/05 18:45
1、通过RSA公私钥认证,避免远程主机密码泄露 在监控主机上生成RSA pair key: ssh-keygen -t rsa 在~/.ssh生成公私钥对。公钥内容copy放到被监控主机~/.ssh/authorized_keys文件中。 在监控主机的访问代码中,将监控主机的私钥路径设置访问代码中: ssh2协议jsch开源解决方案: Jsch jsch = new Jsch(); jsch.addIdentify("~/.ssh/id_rsa"); 实现被监控主机免密码登陆 2、远程脚本休眠机制 在远程访问过程中,因为网络和被监控主机效率的问题,会导致远程主机返回的数据丢失的情况。 1、监控服务器SSH成功连接被监控主机 2、监控服务器通过OutputStream发送shell命令 3、被监控主机运行shell命令,建立InputStream,通过InputStream返回shell运行结果 4、监控服务器获取InputStream,读取返回的结果 在第3步因为运行shell后,建立InputStream与返回shell结果是2种不同的语言实现的,会出现在建立InputStream的过程中返回结果数据导致前面的数据丢失。我遇见的情况是第一行数据丢失。解决办法是在shell脚本echo返回之前,添加sleep指令,错开时间就可以解决问题。 PS:最好的解决办法是通过java 调用本地shell,而本地shell通过ssh协议远程访问被监控机返回数据给java程序……程序上线后才想起这种解决办法,太悲催了
- 通过SSH协议访问远程Shell脚本-免密码登陆与返回数据丢失解决
- ssh协议与免密码登陆
- ssh登陆远程与 git提交代码,免输入密码
- SSH免密码登陆远程服务器
- SSH免密码登陆远程服务器
- [SolrCloud]SSH免密码登陆远程服务器
- SSH免密码登陆远程服务器
- Shell实例:ssh, scp 免密码登陆
- shell如何实现ssh免密码登陆
- CentOS6.5通过SSH免密码登陆
- SSH协议与SSH免登陆
- Ubuntu集群下利用Shell脚本进行SSH免密码登陆
- SSH登陆免密码
- ssh免密码登陆
- ssh 免密码登陆
- ssh免密码登陆
- ssh免密码登陆
- ssh免密码登陆
- Javascript 生成xml 例子
- 一个关于SQL语句的练习题目
- 配置VS2008自带的SQL Server 2005 Express sa登陆
- CentOS 简单安装配置svn服务器
- 当导入数据时遭遇表已存时的应对手段
- 通过SSH协议访问远程Shell脚本-免密码登陆与返回数据丢失解决
- 使用程序备份服务器端数据库文件和其他文件一 - asp.net 教程
- DataView的RowFilter用法
- Oracle Spatial 产品概要以及使用概述
- 关闭主程序时如何关闭子线程
- JavaBean
- 等待队列学习笔记(转载)
- linux进程通讯-共享内存
- U盘安装windows xp