Python 模块功能paramiko SSH 远程执行及远程下载(可以使用)

来源:互联网 发布:知乎日报年度吐槽精选 编辑:程序博客网 时间:2024/05/18 00:03

原文地址:http://www.cnblogs.com/wuhongliang/p/5134587.html

Python---paramiko

paramiko 是基于python实现的SSH2远程安全连接,支持认证及秘钥方式.可以实现远程执行命令,文件传输,中间SSH代理等功能.

复制代码
 1 #!/usr/bin/python 2 #ssh 3 import paramiko 4 import sys,os 5  6 host='127.0.0.1' 7 user = 'whl' 8 password = '123456' 9 10 s = paramiko.SSHClient()                                 # 绑定实例11 s.load_system_host_keys()                                # 加载本地HOST主机文件12 s.set_missing_host_key_policy(paramiko.AutoAddPolicy())  # 允许连接不在know_hosts文件中的主机13 s.connect(host,22,user,password,timeout=5)               # 连接远程主机14 while True:15         cmd=raw_input('cmd:')16         stdin,stdout,stderr = s.exec_command(cmd)        # 执行命令17         cmd_result = stdout.read(),stderr.read()         # 读取命令结果18         for line in cmd_result:19                 print line,20 s.close()
复制代码
paramiko实例(账号密码登录执行命令)
复制代码
 1 #!/usr/bin/evn python 2 import os 3 import paramiko 4 host='127.0.0.1' 5 port=22 6 user = 'whl' 7 password = '123456' 8 ssh=paramiko.Transport((host,port)) 9 privatekeyfile = os.path.expanduser('~/.ssh/id_rsa') 10 mykey = paramiko.RSAKey.from_private_key_file( os.path.expanduser('~/.ssh/id_rsa'))   # 加载key 不使用key可不加11 ssh.connect(username=username,password=password)           # 连接远程主机12 # 使用key把 password=password 换成 pkey=mykey13 sftp=paramiko.SFTPClient.from_transport(ssh)               # SFTP使用Transport通道14 sftp.get('/etc/passwd','pwd1')                             # 下载 两端都要指定文件名15 sftp.put('pwd','/tmp/pwd')                                 # 上传16 sftp.close()17 ssh.close()
复制代码
paramiko实例(传送文件)
复制代码
#!/usr/bin/python#sshimport paramikoimport sys,oshost='127.0.0.1'user = 'whl's = paramiko.SSHClient()s.load_system_host_keys()s.set_missing_host_key_policy(paramiko.AutoAddPolicy())privatekeyfile = os.path.expanduser('~/.ssh/id_rsa')             # 定义key路径mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)# mykey=paramiko.DSSKey.from_private_key_file(privatekeyfile,password='061128')   # DSSKey方式 password是key的密码s.connect(host,22,user,pkey=mykey,timeout=5)cmd=raw_input('cmd:')stdin,stdout,stderr = s.exec_command(cmd)cmd_result = stdout.read(),stderr.read()for line in cmd_result:        print line,s.close()
复制代码

0 0
原创粉丝点击