Python 无法获得';LS';使用Pexpect在SSH上输出

Python 无法获得';LS';使用Pexpect在SSH上输出,python,ssh,pexpect,Python,Ssh,Pexpect,我正在尝试使用pexpect连接到本地主机上的SSH,并尝试在建立SSH会话后列出文件。会话已建立,但我没有得到“ls”的输出。我已经能够在FTP中完成,但不能使用SSH,下面是代码: import pexpect import time import sys child=pexpect.spawn('ssh 127.0.0.1') child.logfile=sys.stdout child.expect('[P|p]assword') child.sendline('abcd@123?')

我正在尝试使用pexpect连接到本地主机上的SSH,并尝试在建立SSH会话后列出文件。会话已建立,但我没有得到“ls”的输出。我已经能够在FTP中完成,但不能使用SSH,下面是代码:

import pexpect
import time
import sys
child=pexpect.spawn('ssh 127.0.0.1')
child.logfile=sys.stdout
child.expect('[P|p]assword')
child.sendline('abcd@123?')
child.expect('Welcome')
print child.before,
print child.after
time.sleep(3)
child.sendline('ls -l')
time.sleep(3)
child.expect('$')
print child.before,
print child.after
child.sendline('logout')
child.close

在这里,我也尝试休眠进程,但它在localhost的SSH横幅之间打印'ls-l'。但是没有列出文件。请提供一些提示。此外,请提供一些好书或链接,以便深入研究python进行pentesting测试。非常感谢…(我将在12小时后在线,现在是睡觉的时间)

传递给
expect()
的模式是正则表达式,而不是文本字符串。因此,
$
匹配字符串的结尾,因为pexpect的工作方式,它可以位于任何位置


您可以转义美元符号-
\$
,也可以使用
expect\u-exact()
,它采用普通字符串。

传递给
expect()
的模式是正则表达式,而不是文本字符串。因此,
$
匹配字符串的结尾,因为pexpect的工作方式,它可以位于任何位置


您可以转义美元符号-
\$
,也可以使用
expect\u-exact()
,它采用普通字符串。

传递给
expect()
的模式是正则表达式,而不是文本字符串。因此,
$
匹配字符串的结尾,因为pexpect的工作方式,它可以位于任何位置


您可以转义美元符号-
\$
,也可以使用
expect\u-exact()
,它采用普通字符串。

传递给
expect()
的模式是正则表达式,而不是文本字符串。因此,
$
匹配字符串的结尾,因为pexpect的工作方式,它可以位于任何位置

您可以转义美元符号-
\$
,也可以使用
expect\u exact()
,这需要一个普通字符串