介绍 本文介绍如何通过Telnet协议连接到远程Shell,执行脚本,并获取执行结果: 相关文章: <[Jsch]使用SSH协议连接到远程Shell执行脚本>http://www.cnblogs.com/ssslinppp/p/6244653.html  其他示例: http://commons.apache.org/proper/commons-net/examples/telnet/TelnetClientExample.java  http://www.programcreek.com/…
如果大家熟悉Linux的话,一定对ssh,sftp,scp等命令非常熟悉,ssh是一个安全协议,用来在不同系统或者服务器之间进行安全连接,SSH 在连接和传送的过程中会加密所有的数据. 但是SSH一般是基于客户端的或者Linux命令行的,比如客户端的工具:OpenSSH,putty,SSH Tectia: 在linux上大家可以通过ssh username@host连接到所要想连接的主机. 但是如果在J2EE中,如何实现SSH呢?进而可以实现SCP,SFTP的功能呢?下面介绍的JSCH就可以实现…
写了一个监控负载的小脚本(死循环,测试结束后再kill对应进程),因需要监控多台服务器,所以在一台服务器上使用ssh统一执行脚本遇到问题:使用ssh root@172.16.146.20 '/usr/local/luly/loadavg.sh 2 2 &'执行本机没有即时退出,占用ssh连接本意是发送命令到远程机执行,本机发送后直接退出尝试:1.增加nohup,效果相同:ssh root@172.16.146.20 'nohup /usr/local/luly/loadavg.sh 2 2 &am…
最近在客户现场,每日都需要巡检大量主机系统的备库信息.如果一台台执行,时间浪费的就太冤枉了. 参考同事之前写的一个python脚本,配合各主机上写好的shell检查脚本,实现一次操作得到所有巡检结果. 这里的Python脚本需要用到paramiko模块. 安装paramiko有两个先决条件,python和另外一个名为PyCrypto的模块. yum install python-crypto python-paramiko 或者 单独下载模块,python setup.py build &&…
之前介绍过ansible的使用,通过ssh授权批量控制服务器集群 但是生成密钥和分发公钥的时候都是需要确认密码的,这一步也是可以自动化的,利用ssh + expect + scp就可以实现,其实只用这几个命令结合也可以实现类似ansible的功能了 为了远程操作服务器进行环境初始化,总结我们都需要以下几步操作 1.ssh-keygen生成密钥对 2.将生成的公钥发送到node服务器 3.scp拷贝安装包到node服务器 4.ssh远程执行拷贝过去的安装包 下面进行集群环境初始化脚本的编写,通过s…
Shell作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行这一条,这种方式称为交互式,但还有另一种执行命令的方式称为批处理方式,用户事先写一个Shell脚本,Shell可以一次把这些命令执行完. 如下例子: #!/bin/bashecho "this is a test"cd ..ls Shell脚本中⽤用#表⽰示注释,相当于C语⾔言的//注释.但如果#位于第⼀一⾏行开头,并且是则例外,它表⽰示该脚本使⽤用后⾯面指定的解释器/bin/sh解释执⾏行.如果把这个脚本⽂文件…
Shell作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行这一条,这种方式称为交互式,但还有另一种执行命令的方式称为批处理方式,用户事先写一个Shell脚本,Shell可以一次把这些命令执行完. 如下例子: 第一种执行方式:chmode+x script.sh 执行过程: Shell会fork一个子进程并调用exec执行./script.sh这个程序,exec系统调用会把子进程代码段替换成./script.sh程序的代码段,exec有一种机制,如果要执行的是一个文本文件,并且第一…
工作时候需要模拟shell来执行任务,借助包paramkio import paramiko class ShellExec(object): host = '127.0.0.1' port = 3600 user = 'username' pkey = '/home/username/.ssh/id_rsa' # def __init__(self): self._connect() def _connect(self): self.ssh = paramiko.SSHClient() sel…
实现功能: 客户端发送命令,服务器接收命令并执行 服务端: import socketserver, os class MyTCPHandler(socketserver.BaseRequestHandler): def handle(self): try: while True: self.data=self.request.recv(1024) print("{} send:".format(self.client_address),self.data.decode("u…
#!/bin/bash source /etc/profile APPLICATIONS_HOME="/opt/cpic_analy" APPLICATION_NAME="MerchantClient.jar" SNAME=`basename $APPLICATION_NAME .jar` LOG_DIR="$APPLICATIONS_HOME/logs/$SNAME/" STR_LOG=$(date +'%Y-%m-%d_%H-%M') STR…