Shell

sudo -i 在 ssh 中使用密碼

  • August 7, 2016

我想寫一個腳本來連接伺服器,這將增加權限。現在我使用帶有 的腳本expect,但我想改變它。這是我嘗試實現這一目標的一種方式:

ssh host -t 'echo "passowrd" | sudo -S echo; sudo -i'

密碼是否保存在伺服器的命令歷史記錄中?我找不到這些命令的任何記錄:

ssh host -t 'ls;echo $SHELL;history;bash -l'

此命令顯示 ls 命令和“/bin/bash”的結果。

使用 sudoers(visudo 或將配置放入 /etc/sudoers.d)為使用者提供無需密碼即可執行給定命令的權限似乎是更好的方法。

如果您不使用互動式方式(僅遠端執行而不是登錄),則不會在 bash 歷史記錄中創建條目。要訪問 bash 的歷史,您需要使用以下範例: ssh host "cat .bash_history" 但是您不會從遠端執行中找到任何條目。

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