paramiko模块

paramiko模块

通过paramiko模块连接主机运行bash命令,模拟ssh连接主机。

调用模块,第三方模块,需要pip下载

import paramiko     #调用模块
hostname = 'IP地址'   #服务器ip地址
port = 22       #端口
username = 'root'       #用户名
password = '123'        #密码
ssh = paramiko.SSHClient()      #ssh协议
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())       #忽略know_hosts策略
ssh.connect(hostname=hostname,port=port,username=username,password=password)
while True:
    qwe = input('——>')  #交互式输入命令
    stdin, stdout, stderr = ssh.exec_command(qwe)   #传给管道
    print(stdout.read().decode('utf-8'))    #输出标准输出
    print(stderr.read().decode('utf-8'))    #输出标准错误
上传

将windows的文件上传到linux中

import paramiko
hostname = 'IP地址'   #linux主机IP地址
port = 22   #端口
username = 'root'   #用户名
password = '123'    #密码
t=paramiko.Transport((hostname,port))
t.connect(username=username,password=password)
sftp = paramiko.SFTPClient.from_transport(t)
sftp.put(r'windows的文件路径', 'linux中的路径') #将windows的文件上传到linux中,put上传
sftp.close()
下载

将linux中的文件下载到windows中

import paramiko
hostname = 'IP地址'
port = 22
username = 'root'
password = '123'
t=paramiko.Transport((hostname,port))
t.connect(username=username,password=password)
sftp = paramiko.SFTPClient.from_transport(t)
sftp.get('linux文件路径', r'windows路径')   #get下载,将linux中的文件下载到windows中
sftp.close()
原文地址:https://www.cnblogs.com/dayle/p/10040542.html