连接到putty并输入一些命令

Ree*_*gam 6 python putty

我想连接到putty并想做几步:

  1. 登录Putty
  2. 键入一些命令来关闭服务器
  3. 遍历特定路径
  4. 从目录中删除该文件
  5. 再次启动服务器

我需要在windows中编写代码.但我的服务器是在linux中.我该怎么办?提前致谢

Tad*_*eck 8

你需要的是Paramiko,但对初学者来说可能有点复杂.

对于简单,重复的任务,您可以使用我的脚本 - 它位于GitHub(https://github.com/tadeck/ssh-matic)上,并且是为了学习Python而创建的.它基于别人对Paramiko 的友好SSH Python接口(此处可访问代码).

使用提到的SSH模块连接到服务器并执行命令非常简单:

import ssh
server = ssh.Connection(host='host', username='user', private_key='key_path')
result = server.execute('your command')
Run Code Online (Sandbox Code Playgroud)

基本上你需要的不是PuTTy,而是一个Python的SSH模块.该模块应该适用于Windows和Linux.使用我的脚本,您只需要处理要调用的命令,并根据需要调整代码.

祝好运.告诉我它是否有帮助.


L. *_*ang 5

from pywinauto.application import Application
import time

app = Application ().Start (cmd_line=u'putty -ssh user_name@10.70.15.175')
putty = app.PuTTY
putty.Wait ('ready')
time.sleep (1)
putty.TypeKeys ("password")
putty.TypeKeys ("{ENTER}")
time.sleep (1)
putty.TypeKeys ("ls")
putty.TypeKeys ("{ENTER}")
Run Code Online (Sandbox Code Playgroud)

我正在使用Python 2.7。代码在Windows上运行,并连接到远程Linux。它正在我的环境中工作。


Ser*_*lis 3

您可以使用类似于以下的代码:

command = "plink.exe -ssh username@" + hostname + " -pw password -batch \"export DISPLAY='" + hostname + "/unix:0.0' ; "

这将打开一个 ssh 到所需的hostname使用usernamepassword

关闭: command += "sudo /sbin/halt\""

重启: command += "sudo /sbin/reboot\""

使用与上面相同的方法添加其他命令,

运行命令:

pid = subprocess.Popen(command).pid

正如 Tadeck 所指出的,这仅适用于尝试连接到 Linux 计算机的 Windows 计算机。