【发布时间】:2017-07-28 02:45:46
【问题描述】:
我正在尝试使用 SSH paramiko 模块和 cd 命令将目录更改为 /etc/init.d。它不会更改目录。登录服务器后在默认目录'root'
def StopAll(path,IP,ROOT,PASSWD):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('%s'%IP, username='%s'%ROOT,password='%s'%PASSWD)
stdin, stdout, stderr = ssh.exec_command("cd /etc/init.d")
stdin, stdout, stderr = ssh.exec_command("pwd")
print stdout.read().strip()
输出:./Installation.py conf/Input.conf
/root
请告诉我代码中的问题在哪里。
【问题讨论】:
-
不重复。在那个问题中,它提示用户输入,但在这里它没有执行相同的任务。它无法执行简单的linux命令。
-
同意,但关键是您使用 SSH 的级别远低于您必须使用的级别。
-
要在远程服务器上执行任何命令,我通常使用 paramiko 模块。我认为它应该可以正常工作。我在代码中缺少一些小东西。需要帮助来解决它
-
正是链接问题的 OP 最初所说的 :)