Python实现ssh远程执行

简介: paramiko是基于Python实现的SSH2远程安全连接,支持认证及密钥方式。可以实现远程命令执行、文件传输、中间SSH代理等功能,相对于Pexpect,封装的层次更高,更贴近SSH协议的功能 。

paramiko是基于Python实现的SSH2远程安全连接,支持认证及密钥方式。可以实现远程命令执行、文件传输、中间SSH代理等功能,相对于Pexpect,封装的层次更高,更贴近SSH协议的功能 。

需要安装一下依赖

Collecting paramiko
  Downloading paramiko-2.11.0-py2.py3-none-any.whl (212 kB)
     |████████████████████████████████| 212 kB 76 kB/s
Collecting bcrypt>=3.1.3
  Downloading bcrypt-4.0.1-cp36-abi3-win_amd64.whl (152 kB)
     |████████████████████████████████| 152 kB 19 kB/s
Collecting pynacl>=1.0.1
  Downloading PyNaCl-1.5.0-cp36-abi3-win_amd64.whl (212 kB)
     |████████████████████████████████| 212 kB 24 kB/s
Collecting cryptography>=2.5
  Downloading cryptography-38.0.1-cp36-abi3-win_amd64.whl (2.4 MB)
     |████████████████████████████████| 2.4 MB 15 kB/s
Collecting six
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting cffi>=1.12
  Downloading cffi-1.15.1-cp39-cp39-win_amd64.whl (179 kB)
     |████████████████████████████████| 179 kB 18 kB/s
Collecting pycparser
  Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
     |████████████████████████████████| 118 kB 19 kB/s
Installing collected packages: pycparser, cffi, six, pynacl, cryptography, bcrypt, paramiko
Successfully installed bcrypt-4.0.1 cffi-1.15.1 cryptography-38.0.1 paramiko-2.11.0 pycparser-2.21 pynacl-1.5.0 six-1.16.0

代码如下

import  paramiko
import sys

ip="121.36.55.115"
port=22
username="root"
password="Jzbank@315"
#cmd="ls"
cmd1="useradd -m ly"
cmd2="echo \"ly:xiucai315\"|chpasswd "
ssh_client=paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy)
try:
    ssh_client.connect(hostname=ip,username=username,password=password)
except Exception as e:
    print('服务器%s连接失败'%ip)
    print(e)
    sys.exit()
stdin,stdout,stderr=ssh_client.exec_command(cmd1)
stdin1,stdout1,stderr1=ssh_client.exec_command(cmd2)
#print("根目录文件列表:")
print(stdout.read().decode("utf-8"))
print(stdout1.read().decode("utf-8"))
ssh_client.close()
相关文章
|
3月前
|
监控 安全 网络安全
局域网管理监控的远程访问控制:利用SSH和Python实现安全管理
在当今数字化时代,局域网管理监控对于确保网络安全至关重要。远程访问控制是一项关键任务,通过利用SSH(Secure Shell)和Python编程语言,我们可以实现更加安全的管理方法。本文将介绍如何使用这两者结合,为局域网管理提供可靠的远程访问控制。
256 1
|
8月前
|
安全 Linux 网络安全
Python使用Paramiko实现SSH管理
paramiko 是一个用于在Python中实现SSHv2协议的库,它支持对远程服务器进行加密的通信。目前该模块支持所有平台架构且自身遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,你可以在Python中实现SSH客户端和服务器,并进行安全的文件传输和远程命令执行。
94 0
|
10月前
|
Linux Python
[笔记]Win10+VSCode+CentOS7+SSH+远程开发Python
[笔记]Win10+VSCode+CentOS7+SSH+远程开发Python
109 0
|
12月前
|
网络协议 网络安全
python-- socket 粘包、实现 ssh
python-- socket 粘包、实现 ssh
|
安全 网络安全 Python
Python建立SSH连接与使用方法
paramiko是一个Python实现的SSH协议库,可以用来建立SSH连接、传输文件等。你可以在Python环境中使用pipan
Python建立SSH连接与使用方法
|
网络安全 API Python
Python 基于Python实现的ssh兼sftp客户端(下)
Python 基于Python实现的ssh兼sftp客户端(下)
92 0
|
机器学习/深度学习 Linux 测试技术
Python 基于Python实现的ssh兼sftp客户端(上)
Python 基于Python实现的ssh兼sftp客户端(上)
202 0
|
Unix Linux 网络安全
简单的Python脚本,实现ssh登录配置路由器
简单的Python脚本,实现ssh登录配置路由器
601 0
简单的Python脚本,实现ssh登录配置路由器
|
测试技术 网络安全 Python
Python 运用Pexpect实现SSH爆破
Pexpect是一个纯Python模块,用于生成子应用程序;控制他们;并对输出中的预期模式作出响应。Pexpect的工作原理类似于Don Libes的Expect。Pexpect允许脚本生成一个子应用程序,并像键入命令一样控制它。Pexpect可用于自动化交互应用程序,如ssh、ftp、passwd、telnet等。它可用于自动化安装脚本,以在不同服务器上复制软件包安装。它可以用于自动化软件测试。
261 0
|
网络安全 Python 数据安全/隐私保护