ipconfig 可通过 ssh 使用,但不能在机器本身上使用

ipconfig 可通过 ssh 使用,但不能在机器本身上使用

我已将 Kali 4.19 加载到 Raspberry Pi 4 上,并使用单独主机上的 ParrotOS VM 与其进行通信。

通过 SSH 向我的 Kali Pi 发送命令时,我注意到一些奇怪的行为。我可以向它发送熟悉的命令,例如ifconfigshutdown,并且两者都有预期的行为(前者显示有关远程计算机的正确信息,后者立即关闭它)。

在 Kali Pi 本身上,如果我打开终端并输入上述任一命令,我会得到

brendon@kali:~$ ifconfig
bash: ifconfig: command not found
brendon@kali:~$ shutdown
bash: shutdown: command not found

据我所知,它ifconfig已被弃用,并且shutdown可以来自不同的包,因此两者都不一定保证存在。

但令我困惑的是它可以通过 SSH 运行,但在机器上却不行。我假设当我发送命令时,它会被加密为文本,发送到另一台机器,解密为文本,然后使用exec*调用或类似的方式在本地进行评估。然后响应发生相反的情况。但它通过 SSH 运行的事实表明还有其他事情正在发生。

如果我which ifconfig通过 SSH,我会得到返回码 1,这表示“一个或多个指定的命令不存在或不可执行”。但它仍然有效。

有人可以解释这里发生了什么吗?

答案1

$PATH本地 shell 和远程 shell 的设置之间存在差异。出现错误信息的原因是ifconfig本地shell中缺少 的父目录$PATH

相关内容