蔚蓝触点 Azuretouch

Azuretouch
Touch your future

CentOS 下通过 SSH 执行远程命令和脚本

有些场合中需要在一台 CentOS 下对另一台 CentOS 远程执行命令和脚本,特此记录

#coding=utf-8

import ssh
# 新建一个ssh客户端对象
client = ssh.SSHClient()
# 设置成默认自动接受密钥
client.set_missing_host_key_policy(ssh.AutoAddPolicy())
# 连接远程主机
client.connect("192.168.1.100", port=22, username="username", password="password")
# 在远程机执行shell命令
stdin, stdout, stderr = client.exec_command("ifconfig")
# 读返回结果
print stdout.read()
# 查询是否安装psutil模块
stdin, stdout, stderr = client.exec_command("pip list |grep psutil")
# 读返回结果
print stdout.read()
# 在远程机执行python脚本命令
stdin, stdout, stderr = client.exec_command("python /www/test.py")
print stdout.read()
# 新建 sftp session
sftp = client.open_sftp()
# 创建目录
sftp.mkdir('newfolder')
# 从远程主机下载文件,如果失败, 这个可能会抛出异常。
sftp.get('test.sh', '/home/test.sh')
# 上传文件到远程主机,也可能会抛出异常
sftp.put('/root/test.py', '/www/test.py')
# 在远程机执行python脚本命令
stdin, stdout, stderr = client.exec_command("python /www/test.py")
print stdout.read()
未经允许不得转载:蔚蓝触点 Azuretouch » CentOS 下通过 SSH 执行远程命令和脚本

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址