python学习之---- paramiko 模块
paramiko 模块
功能:提供了ssh及sftp进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。
1 基于用户名和密码的 sshclient 方式登录
执行过程:传统的连接服务器、执行命令、关闭的一个操作
1 import paramiko 2 3 # 实例化一个客户端 4 ssh_client = paramiko.SSHClient() 5 # 实现自动添加ssh信任关系knows_hosts 6 ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 7 # 连接远程linux目标机 8 ssh_client.connect(hostname='ip',port=22,username='root',password='paswd') 9 # 在远程服务器执行命令 10 stdin,stdout,stderr = ssh_client.exec_command('df -h') 11 # 读取标准输出和标准错误 12 out,err = stdout.read(),stderr.read() 13 # 打印输出的信息 14 mess = out if out else err 15 print(mess.decode()) 16 # 关闭客户端连接 17 ssh_client.close()
2 基于用户名和密码的 transport 方式登录
执行过程:连接服务器,执行上传,下载,关闭操作
1 import paramiko 2 # 定义传输的ip和端口 3 transfer = paramiko.Transport('10.10.2.12',22) 4 # 定义传输的账号,密码 5 transfer.connect(username='root',password='passwd') 6 # 建立sftp连接 7 sftp = paramiko.SFTPClient.from_transport(transfer) 8 # 上传 9 sftp.put('源文件','目标文件') 10 # 下载 11 sftp.get('服务器文件,'本地文件') 12 # 关闭连接 13 transfer.close()