我想连接到putty并想做几步:
我需要在windows中编写代码。但我的服务器是在linux中。 我该怎么办? 提前致谢
答案 0 :(得分:8)
您需要的是 Paramiko ,但初学者可能会有点复杂。
对于简单,重复的任务,您可以使用我的脚本 - 它是located on GitHub (https://github.com/tadeck/ssh-matic)并且是为了学习一些Python而创建的。它基于其他人对Paramiko(code accessible here)的友好的SSH Python界面。
使用上述SSH模块连接服务器并执行命令非常简单:
import ssh
server = ssh.Connection(host='host', username='user', private_key='key_path')
result = server.execute('your command')
基本上你需要的不是PuTTy,而是Python的SSH模块。该模块应该适用于Windows和Linux。使用我的脚本,您只需要处理要调用的命令,并根据需要调整代码。
祝你好运。告诉我它是否有帮助。答案 1 :(得分:3)
你可以使用类似的代码:
command = "plink.exe -ssh username@" + hostname + " -pw password -batch \"export DISPLAY='" + hostname + "/unix:0.0' ; "
将使用hostname
和username
password
的ssh
关机:
command += "sudo /sbin/halt\""
重新启动:
command += "sudo /sbin/reboot\""
使用与上面相同的方法添加其他命令,
使用以下命令运行命令:
pid = subprocess.Popen(command).pid
正如Tadeck所指出的,这只适用于试图连接Linux机器的Windows机器。
答案 2 :(得分:3)
你可以这样做:
# Use plink to open a connection to the remote shell
command = "plink.exe -ssh %s -batch" % credentials
sp = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
# Send commands to the shell as if they were read from a shell script
sp.stdin.write("command1\n")
sp.stdin.write("command2\n")
sp.stdin.close()
# read out the answers, if needed
ans = sp.stdout.read()
sp.wait()
对于credentials
,最好放置PuTTY连接配置文件的名称,并准备好用户名和SSH密钥。
答案 3 :(得分:3)
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}")
我正在使用python 2.7。代码在Windows上运行,并连接到远程Linux。它在我的环境中工作。
答案 4 :(得分:0)
您可以使用Fabric执行这些步骤。
答案 5 :(得分:0)
我想您想要登录SSH服务器,为什么不使用http://www.lag.net/paramiko/?所以你不需要腻子
答案 6 :(得分:0)
要使用putty连接到ubuntu计算机并创建并运行python脚本,请检查此link