实习第三天--pexpect、paramiko

  1. 用pexpect开发一个脚本
    (1)本地需要安装OPENSSH
    (2)Linux需要安装SSH
    (3)用SSH连接Linux: ssh@root192.168.30.1
    (4)python代码:
from pexpect.pxssh import pxssh
import getpass  
hostname = '192.168.30.1'
user = 'root'
pw = getpass.getpass()

s = pxssh()
s.login(hostname,user,pw)

s.sendline('ls -l') #发送指令
s.prompt()  #匹配内容
print(s.before.decode())
s.sendline('df') #查看磁盘的情况
s.prompt()
print(s.before.decode())
s.logout
  1. 用paramiko开发一个脚本,远程连接Linux,执行一句指令,将结果保存在一个json文件中。
    (1)安装paramiko前需要先安装PyCrypto
    (2)PyCrypto安装前需要先安装VS C++高版本
    (3)脚本代码:
import paramiko
import time
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(
    hostname='192.168.30.1', 
    username='root', 
    password='123456')
print("connected")
stdin, stdout, stderr = ssh.exec_command('java -version')
# result = stdout.read()
f = open('test01.json','w+')
print("aaaaaa")
f.write(stderr.read().decode('utf-8'))
# f.write(stdout.read().decode("utf-8"))
print(f.read())
f.close()
ssh.close()
踩坑:exec_command远程发送指令一般都能通过stdout获取结果,但是执行java的指令如:java -version =, java -h等指令返回结果放在stderr 标准输出里
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值