python支持库安装
这里我们使用Paramiko库对linux进行操作,使用pip进行库的下载安装
pip install paramiko --default-timeout=60
pip install paramiko -i https://pypi.douban.com/simple/
--trusted-host pypi.douban.com
linux环境准备
常用操作
# coding:utf-8
import paramiko
# 创建SSHClient实例对象
ssh = paramiko.SSHClient()
# 调用方法,表示没有存储远程机器的公钥,允许访问
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接远程机器 地址\端口\用户名密码
ssh.connect('192.168.32.130',22,'wf','wftest')
# 创建目录(exec_command传入的参数就是linux的操作命令)
# 每次执行exec_command方法,都会新建执行环境,当前路径在登录用户根目录
cmd = 'mkdir jcy2'
ssh.exec_command(cmd)
# 如果命令跨行
cmd = '''echo '1234
5678
90abc' > myfile
'''
ssh.exec_command(cmd)
# 获取命令的执行结果(stdin:控制输入,stdout\stderr输出)
# cmd = 'cat myfile'
# 同行执行多个命令,前边的命令报错后面的命令仍然会执行
cmd = "pwd;mkdir jcy4;cd jcy4;pwd;mkdir jcy44"
stdin, stdout, stderr = ssh.exec_command(cmd)
output = stdout.read()+stderr.read()
print(output.decode('utf-8'))
# 传送文件到远程机器
sftp = ssh.open_sftp()
sftp.put('ftp1.py', '/home/wf/ftp1.py')
sftp.close()
# 获取远程机器文件( **不能获取远程机器文件夹,如需要则可以先使用tar命令打包,然后再获取 )
sftp = ssh.open_sftp()
sftp.get('/home/wf/ftp2.py', './ftp2.py')
sftp.close()
# 关闭SSHClient连接
ssh.close()