Python脚本-连接到SSH并运行命令
我已经知道Python有ssh模块,这不是我想要的。 我想要的是一个python脚本,用于执行以下操作:Python脚本-连接到SSH并运行命令,python,automation,ssh,telnet,Python,Automation,Ssh,Telnet,我已经知道Python有ssh模块,这不是我想要的。 我想要的是一个python脚本,用于执行以下操作: >连接到[input by user]SSH主机 >使用[用户提供的]凭据进行连接 >在SSH主机上运行命令[telnet to[host-input by user] >选择telnet会话中的菜单项 提前感谢, 致以最诚挚的问候,如果您真的在寻找一个可以让您自动进行CLI交互的模块,请参阅使用它的完整示例。使用或。现在流行的解决方案是有许多库可以做到这一点 子流程 期望 帕拉米科(主要使
致以最诚挚的问候,如果您真的在寻找一个可以让您自动进行CLI交互的模块,请参阅使用它的完整示例。使用或。现在流行的解决方案是有许多库可以做到这一点
from vassal.terminal import Terminal
shell = Terminal(["ssh username@host", "cd scripts", "python foo1.py", "python foo2.py"])
shell.run()
这将每秒运行一次命令,您可以使其更快地运行以更改sec=0.1。我将向您介绍:
import-spur
shell=spur.SshShell(hostname=“localhost”、username=“bob”、password=“password1”、缺少\u host\u key=spur.ssh.MissingHostKey.accept)
结果=shell.run([“echo”、“-n”、“hello”])
打印(result.output)#打印hello
-
- 通过SSH Execute命令登录-
导入paramiko
主机名='输入\u主机'
用户名='输入用户'
密码='输入密码'
client=paramiko.SSHClient()
client.set\缺少\主机\密钥\策略(paramiko.AutoAddPolicy())
client.connect(主机名,用户名=用户名,密码=密码)
stdin,stdout,stderr=client.exec_命令('cd/enter/valid/path&&ls-l'))
对于标准输出中的行:
打印(行.strip('\n'))
client.close()
输出:
-rw-rw-r--1用户名2712 Jan 22 14:49文件\u 1.ini
-rw-rw-r--1用户名用户名5928 Jan 22 14:50文件_2.log
-rw-rw-r--1用户名用户名1454 Jan 14 23:31文件_3.sql
-rw-rw-r--1用户名用户名337 Jan 14 23:31文件_4.py
drwxrwxr-x 3用户名4096 Jan 14 23:33文件夹\u 1
drwxrwxr-x 2用户名4096 Jan 14 23:33文件夹\u 2
-rw-rw-r--1用户名用户名2566 Jan 21 12:38文件_5.md
-rw-rw-r--1用户名用户名63 Jan 14 23:31文件_6.txt
drwxrwxr-x 4用户名4096 Jan 14 23:31文件夹\u 3
drwxrwxr-x 9用户名4096 Jan 21 12:38文件夹4
- 不需要图书馆
导入子流程
subprocess.Popen(“ssh{user}@{host}{cmd}”.format(user=user,host=host,cmd=ls-l'),shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate()
我不明白。你需要用Python做与SSH相关的事情,你对Python的SSH模块不感兴趣吗?@Tokland,我在寻找一个示例脚本。而不是像“Fabric是简化SSH使用的Python库和命令行工具”这样的答案:)