能够成功地在我的 Windows 机器和 QNX (~linux) 系统之间创建 SSH 连接。
唯一获得任何输出(标准输出)的命令是“pwd”。
# SSH Connection stuff
stdin, stdout, stderr = client.exec_command('pwd')
output = stdout.readlines()
error = stderr.readlines()
readback = [output, error]
for index, val in enumerate(readback):
readback = '\n'.join(val)
print("%s:\t%s") %(index, readback)
'pwd' 的示例输出:
0: /home/rxm
1:
当我将命令从 pwd
更改为 ls
时:
0:
1: ksh: ls: cannot execute - No such file or directory
我在尝试其他简单命令时遇到同样的错误,例如pidin
、ifconfig
等
当我使用 PuTTY 并创建 SSH 连接时,所有必要的命令都有效。
有没有人见过这种行为。走 invoke.shell
路线时也不是一帆风顺。谢谢。
pwd
可能内置在您的 shell 中,而您正在运行的所有其他命令都不是。 ls
未找到,因为未设置$PATH
,因此您可以设置PATH
环境变量,或者在调用命令时使用完整路径,例如 /bin/ls
。
我是一名优秀的程序员,十分优秀!