Ssh
在 shell 腳本中使用 su
我正在自動化部署過程,我希望能夠在我的機器上呼叫一個 .sh 文件,讓它完成我的建構並將 .zip 上傳到伺服器,然後在伺服器上做一堆事情。我需要做的一件事要求我成為 root。所以,我想做的是:
ssh user@172.1.1.101 <<END_SCRIPT su - #password... somehow... #stop jboss service server_instance stop #a bunch of stuff here #all done! exit END_SCRIPT
這甚至可能嗎?
您是否考慮過無密碼的 sudo ?
使用 sudo 代替 su,並在 sudoers 中設置 NOPASSWD 以獲取適當的命令。您需要盡可能限制允許的命令集。如果您不熟悉 sudoer 文件語法,讓它呼叫為 root 命令執行腳本可能是最簡潔的方法,並且是迄今為止最容易確保安全的方法。對於需要載入完整環境的命令/腳本,
sudo su - -c command
雖然可能有點矯枉過正。