官网地址:

https://github.com/ParallelSSH/ssh2-python

API文档地址:

https://ssh2-python.readthedocs.io/en/latest/api.html

示例1:带账号的登录执行 password_auth.py

#!/usr/bin/python"""Example script for authentication with password"""from __future__ import print_functionimport argparse
import socket
import os
import pwd
import sysfrom ssh2.session import SessionUSERNAME = pwd.getpwuid(os.geteuid()).pw_nameparser = argparse.ArgumentParser()parser.add_argument('password', help="User password")
parser.add_argument('cmd', help="Command to run")
parser.add_argument('--host', dest='host',default='localhost',help='Host to connect to')
parser.add_argument('--port', dest='port', default=22, help="Port to connect on", type=int)
parser.add_argument('-u', dest='user', default=USERNAME, help="User name to authenticate as")def main():args = parser.parse_args()sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)sock.connect((args.host, args.port))s = Session()s.handshake(sock)s.userauth_password(args.user, args.password)chan = s.open_session()chan.execute(args.cmd)size, data = chan.read()while size > 0:print(data)size, data = chan.read()if __name__ == "__main__":main()

示例2

执行远程命令

读取远程文件写入本地文件

from socket import *
from ssh2.session import Session
from ssh2.sftp import LIBSSH2_FXF_READ, LIBSSH2_SFTP_S_IRUSRsock = socket(AF_INET,SOCK_STREAM,0)
sock.connect(("121.37.18.151",22))session = Session()
session.handshake(sock)print(session.userauth_list('myname'))
session.userauth_password('myname','mypassword')channel = session.open_session()
channel.execute('ls -l')
size,data = channel.read()
while size > 0:print(data)size,data = channel.read()sftp = session.sftp_init()
with sftp.open("1.txt",LIBSSH2_FXF_READ,LIBSSH2_SFTP_S_IRUSR) as remote_fh, open("1.txt",'wb') as local_fh:for size,data in remote_fh:local_fh.write(data)

python ssh2 库 远程登录 执行命令 文件获取相关推荐

  1. linux中spawn远程执行,linux 远程登录执行命令

    @(Linux 命令脚本) 方便自动化运维部署,在多台机器上自动执行命令. ssh 需要输入密码, 所以使用 expect 进行交互,从执行文本读取远程主机 IP, 登录名和密码后执行远程登录,执行命 ...

  2. SSH远程登录执行命令脚本

    一.简述 运维工作中远程登录执行命令的脚本很常用,下面分享一下我常用的脚本 二.脚本内容 #!/bin/bashSCRIPT_NAME=`basename $0` CURRENT_DIR=$(cd & ...

  3. golang ssh 远程登录执行命令

    执行系统命令 这个方法需要有一个环境的准备:与目标服务器建立免密码登陆,并且执行程序的用户与执行用户一致. import ("net""log""fm ...

  4. SSH远程登录RaspberryPi命令行响应缓慢问题

    SSH远程登录RaspberryPi命令行响应缓慢问题 1. 问题 2. 分析 3. 解决 3.1 去掉PAM部分鉴权模块 3.2 去掉sshd的DNS设置 3.3 无线WiFi信号优化 方法一:if ...

  5. python数据库操作批量sql执行_利用Python如何批量修改数据库执行Sql文件

    利用Python如何批量修改数据库执行Sql文件 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  利用Python如何批量修改数据库执行Sql文件.txt ] (友 ...

  6. linux启动本地远程服务,如何使用SSH在本地控制远程服务器执行命令

    通过SSH在本地控制远程服务器执行命令,如果每次都要登录到远程服务器真的好麻烦,起始通过SSH就可以远程执行 在本地使用 ssh $RemoteNode    可以在执行远程机器上的命令,例如 ssh ...

  7. Linux 修改ssh远程登录端口命令

    Linux 修改ssh远程登录端口命令 使用默认22端口登录服务器执行以下命令 sudo vi /etc/ssh/sshd_config 找到 #Port 22这一行,把#号注释去掉同时在下面新增一行 ...

  8. Python 标准库之 shutil 高阶文件操作『详细』

    Python标准库之 shutil 高阶文件操作『详细』 文章目录 Python标准库之 shutil 高阶文件操作『详细』 一.Python shutil介绍

  9. sql 后台运行远程服务器,在SQLServer中通过.NET远程的执行SQL文件

    在项目开发过程中,操作数据库的过程中经常会遇到对表结构.存储过程等进行修改,这时一般的操作都是通过直接在SQL Server中的企业管理器进行操作,或者查询分析器里来执行相关的语句,而我们在实际应用中 ...

最新文章

  1. R语言可视化包ggplot2包改变边距(margin)实战(Modify the Margins)
  2. App启动闪屏黑屏问题
  3. Meshlab和CloudCompare截图时去除“旋转圈”
  4. android 布局之scrollview
  5. 内网通mac能用吗_纯干货!小容量Mac装外置硬盘Windows系统最完美的方案!(多图)...
  6. 用VisualBrush定制复杂的按钮样式
  7. Javascript项目
  8. alien rpm deb,ubuntu下安装jdk过程及遇到的问题
  9. 中望3d快捷键命令大全_史上最全的天正CAD快捷键命令大全:左撇子的也包括了...
  10. 艾默生Ev3100变频器源码,汇编语言的。电梯变频器
  11. 我的世界服务器显示伤害指令,我的世界指令代码大全
  12. 计算机二级excel常见函数函数多表求和,excel sumif函数多条件求和 sumif的高级用法:跨多表条件求和...
  13. mpc安装教程linux,linux mpc 安装
  14. 【SAP Basis】SAP用户权限管理
  15. HTML5期末大作业:漫画网站设计——布卡漫画官网(4页) HTML+CSS+JavaScript 学生DW网页设计作业成品 w学生原创课程设计漫画设计制作大作业成品免费下载
  16. 如何对matlab中的数组取平均值
  17. Java50道经典编程题:(七)输出不同种类字符个数 ——字符串的遍历及循环结构的使用
  18. Python的基本知识
  19. Dataset之CASIA-WebFace:CASIA-WebFace 数据集的简介、安装、使用方法之详细攻略
  20. 何志丹软件架构师、高级程序员证书备案,方便以后交流、找工作

热门文章

  1. pythonpandas读取csv和另外一个csv进行比较_Python Pandas:比较一个列中类似值的两个csv(dataframe)的行,并返回相似的行(列)的内容...
  2. python json模块的内部实现_python – 如何使用JSON模块进行漂亮打印时实现自定义缩进?...
  3. 5G LAN — 解决方案示例
  4. ESP8266/ESP32自动下载电路分析
  5. lcd参数解释及刷新率计算,LCD时序
  6. Fastdfs-企业级分布式存储应用
  7. linux cpu 使用
  8. Install Qt5 on Ubuntu 16.04
  9. SendTextMessage 等方便的消息发送函数
  10. hadoop生态搭建(3节点)