Ssh

ipconfig 通過 ssh 可用,但在機器本身上不可用

  • August 8, 2020

我將 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,這表明“一個或多個指定的命令不存在或不可執行”。然而它仍然有效。

有人可以解釋這裡發生了什麼嗎?

$PATH有些東西會在本地 shell 和遠端 shell 的設置之間產生差異。錯誤消息的原因是ifconfig本地 shell 中缺少的父目錄$PATH

引用自:https://unix.stackexchange.com/questions/603433