一、paramiko模块(第三方模块,需要另外安装)
该模块基于SSH用于连接远程服务器并执行相关操作
SSHClient
用于连接远程服务器并执行基本命令
import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname='192.168.242.132', port=22, username='root', password='225325') # 执行命令,返回三个结果,stdin:标准输入,stdout:标准输出 或 stderr:标准错误 stdin, stdout, stderr = ssh.exec_command('df') #标准输出和标准错误只会有一个有结果 res,err=stdout.read(),stderr.read() # 获取命令结果 if res: result=res else: result=err print(result.decode()) # 关闭连接 ssh.close()
SFTPClient
用于连接远程服务器并执行上传下载
基于用户名密码上传下载
import paramiko transport = paramiko.Transport(('192.168.242.129', 22)) transport.connect(username='root', password='225325') sftp = paramiko.SFTPClient.from_transport(transport) # 将location.py 上传至服务器 /tmp/test.py #sftp.put('test.py', '/tmp/test_from_win') # 将remove_path 下载到本地 local_path sftp.get('/tmp/bs.yaml', 'fromlinux.txt') transport.close()