需要通过ssh python向服务器发送命令的帮助吗

需要通过ssh python向服务器发送命令的帮助吗,python,Python,我试图通过ssh连接到服务器,并将“df-h”输出转储到某个文本文件中 p=pexpect.spawn('ssh some.some.com') i=p.expect([ssh_newkey,'password:',pexpect.EOF]) if i==0: print "I say yes" p.sendline('yes') i=p.expect([ssh_newkey,'password:',pexpect.EOF]) if i==1: p.sendli

我试图通过ssh连接到服务器,并将“df-h”输出转储到某个文本文件中

p=pexpect.spawn('ssh some.some.com')

i=p.expect([ssh_newkey,'password:',pexpect.EOF])
if i==0:
    print "I say yes"
    p.sendline('yes')
    i=p.expect([ssh_newkey,'password:',pexpect.EOF])
if i==1:
    p.sendline("somesome")
    p.expect(pexpect.EOF)
    i = p.sendline('df -h > /home/test/output.txt')
    print i
    response = p.before
    print response

print p.before
我正在尝试连接到服务器并将服务器数据转储到某个文本文件中。 我的问题是i=p.sendline('df-h>/home/test/output.txt')没有做任何事情, 基本上我的输出文件是空的。 请帮帮我

谢谢。

您可能希望使用管理SSH连接上的操作。

您可能希望使用管理SSH连接上的操作

我的问题是
i=p.sendline('df-h>
/home/test/output.txt')
不起作用 任何事

它不是将
i
设置为29吗?这就是你的意思吗

基本上我的输出文件是空的

你怎么知道的?此代码中没有任何内容正在检查远程计算机上是否存在该文件

请帮帮我

远程计算机上的用户是否有权限写入那里的
/home/test
目录?实际上,该目录是否存在?你给我们的提示实在太少了,你到底在做什么,在什么情况下,以及结果到底发生了什么,除了向你提出这样的问题,希望你最终能告诉我们你忽略了的许多关键数据外,没有任何帮助。帮助我们帮助你

我的问题是
i=p.sendline('df-h>
/home/test/output.txt')
不起作用 任何事

它不是将
i
设置为29吗?这就是你的意思吗

基本上我的输出文件是空的

你怎么知道的?此代码中没有任何内容正在检查远程计算机上是否存在该文件

请帮帮我


远程计算机上的用户是否有权限写入那里的
/home/test
目录?实际上,该目录是否存在?你给我们的提示实在太少了,你到底在做什么,在什么情况下,以及结果到底发生了什么,除了向你提出这样的问题,希望你最终能告诉我们你忽略了的许多关键数据外,没有任何帮助。帮助我们帮助你

如果您发现自己在同一台机器上通过ssh做了大量工作,那么您可能需要研究类似的内容。

如果您发现自己在同一台机器上通过ssh做了大量工作,那么您可能需要研究类似的内容。

看起来您正在使用Python作为shell。为什么不将相关命令保存在bash文件中,然后在一个命令中运行它呢?我想那样会好得多。我还建议您启用SSH公钥身份验证,它比密码更有效。使用
子流程
模块从Python内部生成流程


如果您出于某种原因确实需要这样做,我想这个建议是没有帮助的。

看起来您正在使用Python作为shell。为什么不将相关命令保存在bash文件中,然后在一个命令中运行它呢?我想那样会好得多。我还建议您启用SSH公钥身份验证,它比密码更有效。使用
子流程
模块从Python内部生成流程


如果出于某种原因确实需要这样做,我想这个建议是没有帮助的。

是否希望在运行Python程序的计算机上创建文本文件,或者在您SSH连接到的计算机上?在我SSH连接到的计算机上。您希望在运行Python程序的计算机上创建文本文件,还是在您SSH连接到的计算机上创建文本文件?在我SSH连接到的计算机上。基本上是“完成”;代码中到处都会发生一些变化,但一旦“在另一台机器上执行此操作”起作用,就没有什么其他东西可写了;代码中到处都会发生一些更改,但一旦“在另一台机器上执行此操作”起作用,就没有多少其他东西可写了。