Ssh
ipconfig 通過 ssh 可用,但在機器本身上不可用
我將 Kali 4.19 載入到 Raspberry Pi 4 上,並使用單獨主機上的 ParrotOS VM 與它通信。
通過 SSH 向我的 Kali Pi 發送命令時,我注意到一些奇怪的行為。我可以向它發送熟悉的命令,例如
ifconfig
和shutdown
,並且兩者都具有預期的行為(前者顯示有關遠端機器的正確資訊,而後者現在將其關閉)。在 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
。