paramiko

Python Paramiko send CTRL+C to an ssh shell

匿名 (未验证) 提交于 2019-12-03 00:59:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm invoking a shell using Paramiko in order to use a CLI over an ssh connection. The problem with this CLI is if I do not close it specifically using CTRL+C, the program will not be able to be opened again without rebooting my system. I've tried the below commands: SSH.send("^C\n") SSH.send("\x003") is there another way to call these? Again, I've established an SSH connection using paramiko.SSHClient() and then invoked a shell using ssh.invoke_shell() and now i need to send CTRL+C to that shell to close the shell (not the ssh connection)

paramiko实现ssh的交互式连接

匿名 (未验证) 提交于 2019-12-03 00:22:01
利用python3+实现,命名为interactive.py import socket import sys # windows does not have termios... try: import termios import tty has_termios = True except ImportError: has_termios = False def interactive_shell(chan): if has_termios: posix_shell(chan) else: windows_shell(chan) def posix_shell(chan): import select oldtty = termios.tcgetattr(sys.stdin) try: tty.setraw(sys.stdin.fileno()) tty.setcbreak(sys.stdin.fileno()) chan.settimeout(0.0) while True: r, w, e = select.select([chan, sys.stdin], [], []) if chan in r: try: x = chan.recv(1024) if len(x) == 0: print ('\r\n*** EOF\r\n',) break sys.stdout

python 2.7中安装paramiko模块实现Xshell自动连接服务器

你离开我真会死。 提交于 2019-12-02 23:11:57
python和自动化运维 在工作中往往会遇到要在几十台甚至几万台服务器上面跑一条命令或者是跑一个脚本,可以使用批量管理软件(ansible、jumpserver、puppet等),如果脚本用来实现的话,基本思路是:需要先登录要操作的服务器,然后再执行命令或者脚本,其中最难的是怎么批量免密登录到服务器(不要说几百台,就是十几台,也会让你很烦躁),方法很多,这里只介绍python的模块:paramiko。 系统:centos 7.6 python环境:python 2.7 1. 安装paramiko模块 pip install pycrypto paramiko  #前提是你已经安装pip,如果没有安装pip的话,查看最后,有安装的方式 2. 脚本内容 (1)将所有要批量添加服务器的IP地址存入一个文件 cat /mnt/script/ip.txt    192.168.0.1   192.168.0.2   192.168.0.3 (2)修改和执行脚本 cat tuisong.py  #需要修改三个地方,其他的都是固定格式    #! /usr/bin/env python    # -*-coding:utf-8-*-   import paramiko   #导入模块   with open( '/mnt/script/ip.txt' ) as f:   #服务器的IP地址

Python3学习(十九):python Paramiko模块的安装与使用详解

匿名 (未验证) 提交于 2019-12-02 22:54:36
一、背景 如果我们想要远程拷贝服务器上面的文件,或者对远程服务器进行相关操作的话,使用paramiko可以很好的解决以上问题。它仅需要在本地上安装相应的软件(python、PyCrypto、ecdsa),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助。下面本文就来详细的介绍Python Paramiko模块的安装与使用,一起学习学习吧。 二、安装 安装paramiko主要需要安装3个模块,分别是 :ecdsa、paramiko、pycrypto。 在python3.6的环境下, 经过调试成功之后的模块版本为:ecdsa 0.13;paramiko 1.18.4;pycrypto-2.6.1.tar.gz。 他们离线安装的地址如下: ecdsa-0.13.tar.gz: https://files.pythonhosted.org/packages/f9/e5/99ebb176e47f150ac115ffeda5fedb6a3dbb3c00c74a59fd84ddf12f5857/ecdsa-0.13.tar.gz pycrypto-2.6.1.tar.gz: https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.1.tar.gz paramiko-1.18.4.zip: https:/

Python模块:paramiko介绍

匿名 (未验证) 提交于 2019-12-02 22:51:30
paramiko的起源和发展 首先来看谁创造了paramiko,是一个名叫Jeff Forcier创建了paramiko项目 项目主页http://www.paramiko.org/ 大家可以去看上面有很多相关的信息。然后这个项目是开源的,源码维护在github上。 源码在github https://github.com/paramiko/paramiko维护 这个paramiko它是非常著名的一个ssh的一个相关的项目。然后很多人在上面贡献源码,当然这个Jeff Forcier它是一个主要的维护者。 我们首先看一下paramiko的起源,最开始它是用Python的对这个ssh进行一个封装,封装就是对一些面向对象的方法,就是把变量和方法给它包装起来。提供一些外部的api给大家很方便的使用它,比如说ssh,它很复杂但是通过它的一个包装把它很简单的提供给大家使用,那么问题来了。什么是ssh呢。 ssh基本原理 简单来说ssh是用于计算机之间加密登陆的网络协议,协议就是端对端的一种通讯交互,我们可以看一下这个ssh它有什么特点。 SSH有什么特点 传统的网络服务程序,如rsh、FTP、POP和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击

Python--paramiko模块

匿名 (未验证) 提交于 2019-12-02 22:51:08
一.什么是paramiko 主要是基于ssh连接远程主机服务器做操作。 远程执行命令、上传文件等 二.paramiko的应用 1.远程密码连接 ssh连接远程主机时,第一次需要输入yes/no,解决此问题 The authenticity of host '172.25.0.101 (172.25.0.101)' can 't be established. ECDSA key fingerprint is 9d:37:08:8e:a4:ad:45:b5:eb:69:6f:d2:88:d3:da:8c. Are you sure you want to continue connecting (yes/no)? yes import paramiko ##获取模块 client = paramiko . SSHClient () ##创建一个ssh远程连接对象 client . set_missing_host_key_policy ( paramiko . AutoAddPolicy ()) ##对上述情况自动选择yes client . connect ( ##连接的服务器的各项信息 hostname = '172.25.4.105' , username = 'root' , password = 'redhat' ) 标准输入、标准输出、标准错误输出 stdin ,

python通过SSH登陆linux并操作

匿名 (未验证) 提交于 2019-12-02 21:59:42
使用python通过SSH登陆linux并操作 用的昨天刚接触到的库,在windows下通过paramiko来登录linux系统并执行了几个命令,基本算是初试成功,后面会接着学习的。 代码: >>> ssh = paramiko.SSHClient() >>> ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) >>> ssh.connect(‘10.104.6.8‘,username = ‘xiaopeng‘,password=‘******‘) >>> stdin,stdout,stderr = ssh.exec_command(cmd) >>> stdin,stdout,stderr = ssh.exec_command(cmd) >>> stdin,stdout,stderr = ssh.exec_command(cmd) [‘code\n‘, ‘Desktop\n‘, ‘order.cpp\n‘, ‘python\n‘, ‘test\n‘, ‘\xe5\x85\xac\xe5\x85\xb1\xe7\x9a\x84\n‘, ‘\xe6\xa8\xa1\xe6\x9d\xbf\n‘, ‘\xe8\xa7\x86\xe9\xa2\x91\n‘, ‘\xe5\x9b\xbe\xe7\x89\x87\n‘, ‘

通过离线安装包解决了 from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: /usr/local/python36/lib/python3.6/site-packages/cryptography-2.2.2-py3.6-linux-x86_64.egg/cryptography/hazmat/binding

匿名 (未验证) 提交于 2019-12-02 21:59:42
场景:内网服务器不能上外网(代理也不通!), 之前安装了PYTHON的几个安装包,但不是知道为什么无法使用PARAMIKO这个模块 报错: 找了好多资料都没有解决,没办法只好放弃原有的安装方式,之前是一个个手动下载模块,传到内网服务器后 通过PYTHON SETUP.PY INSTALL 安装。 现在打算在外网通过PIP 下载模块,再打包到内网服务器,然后利用pip安装,这样可以避免模块之间依赖的问题 注:以下步骤是安装单个包的,下例子以安装paramiko包(较多依赖)说明 步骤说明: 1、使用pip download 命令下载wheel文件至下载目录~/pippackage目录下 或者 [djuser@localhost ~]$ mkvirtualenv py3test New python executable in /home/djuser/.virtualenvs/py3test/bin/python2 Also creating executable in /home/djuser/.virtualenvs/py3test/bin/python Installing setuptools, pip, wheel...done. virtualenvwrapper.user_scripts creating /home/djuser/.virtualenvs

Using paramiko with socks proxy

痴心易碎 提交于 2019-12-02 21:13:46
问题 I an trying to use paramiko with socks proxy (SecureCRT or putty) configured as socks proxy. I am using the below code and import paramiko,socks host, port = '127.0.0.1', 1080 # Set up your proxy information for this socket sock=socks.socksocket() sock.set_proxy( proxy_type=socks.SOCKS4, addr=host, port=port, ) # Connect the socket sock.connect((host, port)) # Create your Paramiko Transport transport = paramiko.Transport(sock) transport.connect( username='username', #<------not sure if it is

如何在linux下升级python

旧巷老猫 提交于 2019-12-02 19:58:42
服务 linux 器自带的是python2.6.无法安装 pip install paramiko。总是报错。 系统自带的Python2.6又不能动。无奈只好再安装一个版本。 自己尝试手动升级python2.7 最后还是放弃了,因为安装成功了,pip等组件也没法使用,尴尬。 服务linux器自带的是python2.6.无法安装 pip install paramiko。总是报错。 系统自带的Python2.6又不能动。无奈只好再安装一个版本。 自己尝试手动升级python2.7 最后还是放弃了,因为安装成功了,pip等组件也没法使用,尴尬。 最终, 还是改为用anaconda辅助安装python3..(阿里云服务器,下载安装特别快)。。具体步骤如下: 1.下载安装脚本: wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh 2 运行安装向导: bash Anaconda3-5.2.0-Linux-x86_64.sh 一路 enter 或 yes 3 修改环境变量 (这样系统默认Python3了,且默认使用pip也是pip3了) 使环境变量立即生效 确认是否安装成功: echo "export PATH=/root/anaconda3/bin:$PATH" >> /etc/profile