代码拉取完成,页面将自动刷新
# encoding=utf8
# from flask_socketio import SocketIO, emit
import paramiko
# import socketio
# socketio = SocketIO()
class SSHProxy(object):
def __init__(self, hostname, port, username, password):
self.hostname = hostname
self.port = port
self.username = username
self.password = password
self.transport = None
self.event_name = 'dcenter'
self.name_space = '/dcenter'
def open(self):
self.transport = paramiko.Transport((self.hostname, self.port))
self.transport.connect(username=self.username, password=self.password)
def command(self, cmd):
xssh = paramiko.SSHClient()
xssh._transport = self.transport
stdin, stdout, stderr = xssh.exec_command(cmd, get_pty=True, timeout=3)
status = stdout.channel
stdout = stdout
code = status.recv_exit_status()
result = (stdout.read().decode('utf-8'))
res = {'code': code, 'result': str(result), 'stderr': stderr, 'stdout': stdout}
return res
# return result, stderr
def upload(self, local_path, remote_path):
sftp = paramiko.SFTPClient.from_transport(self.transport)
sftp.put(local_path, remote_path)
sftp.close()
def close(self):
self.transport.close()
def __enter__(self):
self.open()
return self
def __exit__(self, exc_type, exc_val, exc_tb):
self.close()
if __name__ == '__main__':
with SSHProxy('192.168.64.149', 22, 'root', '123456') as ssh:
ssh.command('pwd')
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。