SSH无法在脚本内运行,并且将错误“ ssh”识别为内部或外部命令,可操作程序或批处理文件

问题描述 投票:1回答:3

我打算自动化手动步骤以使用python运行ssh命令。我开发了自动执行以下命令的代码,并将我登录到VM。每当我在spyder和conda提示符下运行代码时,SSH命令都可以正常工作。每当我打开cmd并直接在键所在的位置尝试该命令时,该命令均有效,但是每当我在cmd提示符下运行python脚本时,该命令都会失败并给出错误消息]

os.system('cmd /k "ssh -i <path to private key> <user>@<remotehost>"')

错误:

'ssh' is not recognized as an internal or external command,
operable program or batch file.

如何解决此错误以在cmd上运行脚本?注意:当在cmd上运行时,ssh命令在cmd中可以正常运行,但在脚本中不能正常运行

我打算自动化手动步骤以使用python运行ssh命令。我开发了自动执行以下命令的代码,并将我登录到VM。 SSH命令可以正常使用...

python windows ssh automation scripting
3个回答
0
投票

也许您的路径环境变量中没有ssh可执行文件的路径。您可以将其添加到环境变量,也可以尝试指定ssh程序的完整路径。


0
投票

也许尝试使用命令的实际路径。


0
投票

在示例命令的中间,私钥路径之后有一个额外的“。还要记住,您必须使用两个\\才能正确指定私钥路径。这是一个示例:]

import os
os.system('cmd /k "ssh -i C:\\Users\\dhruv\\.ssh\\id_rsa <user>@<remote_host>"')
© www.soinside.com 2019 - 2024. All rights reserved.