gpt4 book ai didi

python paramiko ssh session 获取不到系统路径

转载 作者:太空狗 更新时间:2023-10-29 19:36:00 25 4
gpt4 key购买 nike

我遇到一个问题,当我 ssh 到另一台机器时,我的 paramiko ssh session 没有看到与我手动 ssh 到机器时相同的系统路径。这是我的 Python 代码:

cmd = "echo $PATH"
try:
ssh.connect(ip, username=username, password=password)
except Exception as ex:
raise Exception("Failed to connect to %s with credentials username='%s' password='%s' %s" \
% (ip, username, password, ex.message) )

ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd)
output = ssh_stdout.read()

输出显示/usr/bin:/bin但是当我手动 ssh 到机器时,系统 PATH 上还有其他几个路径。请帮忙。

最佳答案

我认为当您使用 exec_command() 时不会获取任何 bashrc 或配置文件脚本。也许尝试以下操作:

stdin, stdout, stderr = ssh.exec_command("bash -lc 'echo $PATH'")
my_path = stdout.read().rstrip()

如果问题是您正在尝试运行一个通常在您的 PATH 中的命令,但在您使用 exec_command() 时却不是,您最好通过它的绝对路径调用该命令(运行“which [命令]"当你正常登录到另一台机器以找出它是什么时)。

关于python paramiko ssh session 获取不到系统路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17661657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com