首页 > 代码库 > Python自学笔记-paramiko模块(Mr serven)
Python自学笔记-paramiko模块(Mr serven)
文章出处:http://www.cnblogs.com/wupeiqi/articles/5095821.html
SSHClient
用于连接远程服务器并执行基本命令
基于用户名密码连接:
#!/usr/bin/env python3 # -*- coding:utf-8 -*- import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=‘10.245.53.85‘, port=23, username=‘Administrator‘, password=‘Aa1‘) stdin, stdout, stderr = ssh.exec_command(‘dir‘) result = stdout.read() ssh.close()
# SSHClient 封装Transport
import paramiko transport = paramiko.Transport((‘hostname‘,22)) transport.connect(username="Administrator", password="Aa1") ssh = paramiko.SSHClient() ssh._transport = transport stdin, stdout, stderr = ssh.exec_command(‘dir‘) print(stdout.read()) transport.close()
基于公钥密钥连接:
#!/usr/bin/env python3 # -*- coding:utf-8 -*- import paramiko private_key = paramiko.RSAKey.from_private_key_file(‘/home/auto/.ssh/id_rsa‘) ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=‘localhost‘,port=22, username=‘william‘,password=‘111111‘) stdin, stdout, stderr = ssh.exec_command(‘df‘) result = stdout.read() ssh.close()
import paramiko private_key = paramiko.RSAKey.from_private_key_file(‘hone/id_rsa‘) transport = paramiko.Transport((‘hostname‘,22)) transport.connect(username=‘william‘,pkey=private_key) ssh = paramiko.SSHClient() ssh._transport = transport stdin, stdout, stderr = ssh.exec_command(‘df‘) transport.close()
import paramiko from io import StringIO key_str = """-----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAq7gLsqYArAFco02/55IgNg0r7NXOtEM3qXpb/dabJ5Uyky/8 NEHhFiQ7deHIRIuTW5Zb0kD6h6EBbVlUMBmwJrC2oSzySLU1w+ZNfH0PE6W6fans DlQC4Zb73nHgdREtQYYXTu7p27Bl0Gizz1sW2eSgxFU8eTh+ucfVwOXKAXKU5SeI +MbuBfUYQ4if2N/BXn47+/ecf3A4KgB37Le5SbLDddwCNxGlBzbpBa0= -----END RSA PRIVATE KEY-----""" private_key = paramiko.RSAKey(file_obj=StringIO(key_str)) transport = paramiko.Transport((‘10.0.1.40‘,22)) transport.connect(username=‘william‘,pkey=private_key) ssh = paramiko.SSHClient() ssh._tansport = transport stdin, stdout, stderr = ssh.exec_command(‘dir‘) result = stdout.read() transport.close() print(result)
SFTPClient
用于连接远程服务器并执行上传下载
基于用户名密码上传下载
#!/usr/bin/env python3 # -*- coding:utf-8 -*- import paramiko transport = paramiko.Transport((‘10.103.110.211‘,22)) transport.connect(username=‘william‘,password=‘111111‘) sftp = paramiko.SFTPClient.from_transport(transport) sftp.get(‘Goal.jpg‘,‘..\homeWork‘) transport.close()
基于公钥密钥上传下载
import paramiko private_key = paramiko.RSAKey.from_private_key_file(‘/home/auto/.ssh/id_rsa‘) transport = paramiko.Transport((‘hostname‘,22)) transport.connect(username=‘william‘,pkey=private_key) sftp = paramiko.SFTPClient.from_transport(transport) sftp.put(‘/william/test.py‘,‘/willian/test.py‘) sftp.get(‘remove_path‘,‘local_path‘)
Python自学笔记-paramiko模块(Mr serven)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。