安装 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
>>> import paramiko
>>>
代表成功

paramiko实现ssh、scp

SSHClient 用于连接远程服务器并执行基本命令

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:DCC import 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.py
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
8649736 8152208 51476 100% /
tmpfs 502068 0 502068 0% /dev/shm
/dev/sda1 487652 128958 333094 28% /boot

SFTPClient 用于连接远程服务器并执行上传下载

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:DCC import paramiko transport = paramiko.Transport(('localhost', 22))
transport.connect(username='root', password='123dc.') sftp = paramiko.SFTPClient.from_transport(transport)
# 将location.py 上传至服务器 /tmp/test.py
sftp.put('/tmp/location.py', '/tmp/test.py')
# 将remove_path 下载到本地 local_path
sftp.get('remove_path', 'local_path')
transport.close()

基于公钥密钥连接

服务器无密码验证

&&&&&&&&&&&&&&
#ssh-keygen -t rsa
连着三个回车
#ssh-copy-id -i root@119.40.36.231
输入密码,回车。
哦了。
&&&&&&&&&&&&&&

基于公钥链接

import paramiko

private_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()

基于公钥ftp

import paramiko

private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa')

transport = paramiko.Transport(('hostname', 22))

transport.connect(username='wupeiqi', pkey=private_key )

sftp = paramiko.SFTPClient.from_transport(transport)

# 将location.py 上传至服务器 /tmp/test.py
sftp.put('/tmp/location.py', '/tmp/test.py') # 将remove_path 下载到本地 local_path
sftp.get('remove_path', 'local_path') transport.close()

day9---paramiko ssh ftp的更多相关文章

  1. paramiko SSH 模块简单应用。

    目的:需要ssh链接到Linux主机,执行telnet 命令,抓回显匹配制定内容. ssh --->执行telnet到本地端口--->执行类似 ls 的命令.匹配命令执行后的特定回显字段. ...

  2. Python 模块功能paramiko SSH 远程执行及远程下载

    模块 paramiko paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现 ...

  3. ROS 禁止公网暴力破解SSH FTP

    最简单的彻底禁止公网访问SSH FTP端口 1 2 /ip firewall filter add chain=input protocol=tcp dst-port=21-22 src-addres ...

  4. Linux SSH,FTP服务配置

    CentOS-6.4-x86_64-minimal 0.网卡配置 参考:Linux系统\Centos没有网卡eth0配置文件怎么办? - http://jingyan.baidu.com/articl ...

  5. Linux expect自动登录ssh,ftp

    [http://blog.51yip.com/linux/1462.html#] #!/usr/bin/expect -f set ip 192.168.1.201 set password meim ...

  6. 更改ssh,ftp默认端口

    1.  更改ssh端口 放置升级openssh之后做此步骤 配置文件/etc/ssh/sshd_config 注释掉Subsystem      sftp    /usr/libexec/openss ...

  7. Kali Linux 初始化配置:Apache2 /SSH /FTP

    Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统.Kali Linux预装了许多渗透测试软件,包括nmap .Wireshark .John the Ripper, ...

  8. Python paramiko ssh 在同一个session里run多个命令

    import threading, paramiko strdata='' fulldata='' class ssh: shell = None client = None transport = ...

  9. Different between Telnet/SSH/FTP

    http://www.differencebetween.net/category/technology/protocols-formats/ Telnet vs SSH Secure Shell, ...

随机推荐

  1. 安卓开发 想要获取某个View的高度(我是在做滚动浮层的时候用到的)

    1.activity中有个onWindowFocusChanged()方法,可以获取控件的大小,别的地方可能会调用过早导致获取不到实际的大小 @Override public void onWindo ...

  2. VoLTE 注册流程

    1.开关按钮位置:   设置--> 更多--> 移动网络--> 增强型4G LTE模式 2.该设置开关使用了SwitchPreference控件,addEnhanced4GLteSw ...

  3. jQuery实现折叠下拉效果

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. [转] AIX lv 4k偏移量

    转自:http://www.aixchina.net/Question/29969 前几天在客户数据库做巡检的时候,在警告日志中发现有如下警告:引用WARNING: You are creating ...

  5. 小tip:CSS vw让overflow:auto页面滚动条出现时不跳动

    原文地址:http://www.zhangxinxu.com/wordpress/?p=4552 一.水平居中布局与滚动条跳动的千年难题 当前web届,绝大多数的页面间布局都是水平居中布局,主体定个宽 ...

  6. 对CPU做下性能测试

    任务管理器里把pi.exe优先级调到“高” I5-4308U  (2.80Ghz)     PI-1M最佳成绩11.719秒(MACBOOK PRO 13inch,插电,电源选择高性能模式) G202 ...

  7. JAVA中获得一个月最大天数的方法(备忘)

    Calendar 类是一个抽象类,为日历字段之间的转换提供了一些方法.其中有一个重要方法 getActualMaximum ,该方法用于返回指定日历字段实际的最大值. 利用这个方法(Calendar. ...

  8. 转载 - Vultr VPS注册开通且一键快速安装PPTP VPN和电脑连接使用

    本文转载来自:https://www.vultrclub.com/139.html 从2014年Vultr VPS进入市场之后,作为有背景.实力的搅局者,是的最近两年VPS.服务器的用户成本降低.配置 ...

  9. 利用windows服务+timer或者windows任务计划程序+控制台进行进行每日邮件推送

    1.邮件发送代码 using System.Text; using System.Net; using System.Net.Mail; using System.Reflection; using ...

  10. jvm 原理和优化

    在csdn 上看到的,觉得很好,收藏了: 原博文地址: 濤子 http://blog.csdn.net/ning109314/article/details/10411495/ JVM工作原理和特点主 ...