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()