1. 云栖社区>
  2. PHP教程>
  3. 正文

day10---paramiko ssh ftp

作者:用户 来源:互联网 时间:2017-12-01 11:55:03

sshftpparamiko10

day10---paramiko ssh ftp - 摘要: 本文讲的是day10---paramiko ssh ftp,安装 paramiko模块win下:进入到/Python35/Scripts>执行:pip install paramikoLinux:先升级下pip :pip3.5 install --upgrade pip然后安装paramiko

安装 paramiko模块

win下:
进入到/Python35/Scripts>

执行:pip install paramiko

Linux:

先升级下pip :

pip3.5 install --upgrade pip

然后安装paramiko

pip3.5 install paramiko
Downloading paramiko-2.0.2-py2.py3-none-any.whl

Downloading cryptography-1.5.tar.gz

Downloading pyasn1-0.1.9-py2.py3-none-any.whl

Downloading idna-2.1-py2.py3-none-any.whl

Downloading six-1.10.0-py2.py3-none-any.whl

Downloading cffi-1.8.3.tar.gz

Downloading pycparser-2.14.tar.gz

Downloading cffi-1.8.3-cp35-cp35m-manylinux1_x86_64.whl

python;">>>> import paramiko>>> 代表成功


paramiko实现ssh、scp

SSHClient 用于连接远程服务器并执行基本命令
#!/usr/bin/env python#-*- coding:utf-8 -*-# Author:DCCimport paramiko# 创建SSH对象ssh = paramiko.SSHClient()# 允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接服务器ssh.connect(hostname='192.168.193.128', port=22, username='root', password='123dc.')# 执行命令stdin, stdout, stderr = ssh.exec_command('df')# 获取命令结果#result = stdout.read()res,err = stdout.read(),stderr.read()#print(result.decode())print(res.decode())print(err.decode())# 关闭连接ssh.close()#执行结果C:/Users/congcong.du/AppData/Local/Programs/Python/Python35/python.exe C:/Users/congcong.du/PycharmProjects/test/day9/paramiko_test/ssh_test.pyFilesystem1K-blocks Used Available Use% Mounted on/dev/mapper/VolGroup-lv_root8649736 8152208  51476 100% /tmpfs 502068 0 5020680% /dev/shm/dev/sda1487652  128958 333094  28% /boot


SFTPClient 用于连接远程服务器并执行上传下载
#!/usr/bin/env python#-*- coding:utf-8 -*-# Author:DCCimport paramikotransport = paramiko.Transport(('localhost', 22))transport.connect(username='root', password='123dc.')sftp = paramiko.SFTPClient.from_transport(transport)# 将location.py 上传至服务器 /tmp/test.pysftp.put('/tmp/location.py', '/tmp/test.py')# 将remove_path 下载到本地 local_pathsftp.get('remove_path', 'local_path')transport.close()


基于公钥密钥连接

服务器无密码验证
&&&&&&&&&&&&&ssh-keygen -t rsa 连着三个回车#ssh-copy-id -i [email protected] 输入密码,回车。哦了。&&&&&&&&&&&&&&


基于公钥链接
import paramikoprivate_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa')# 创建SSH对象ssh = paramiko.SSHClient()# 允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接服务器ssh.connect(hostname='c1.salt.com', port=22, username='wupeiqi', key=private_key)# 执行命令stdin, stdout, stderr = ssh.exec_command('df')# 获取命令结果result = stdout.read()# 关闭连接ssh.close()


本文出自 “东风十里柔情” 博客,请务必保留此出处http://xiaofengcanyue.blog.51cto.com/6671161/1861785

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索ssh , ftp , paramiko , 10 ,以便于您获取更多的相关知识。