
有什麼方法可以使用 傳遞密碼嗎.ssh/config
?我正在嘗試設定以特定用戶登入伺服器的方法,然後在連接時自動切換到root(需要輸入密碼)。
現在,我有:
Host server
HostName hostname.server.com
User not-root
Port 1234
RemoteCommand su
- 我必須使用這些步驟(使用者 - > su)
- 我必須使用這個密鑰(帶有密碼)
答案1
一般來說,大多數系統管理員都會進行配置,以便他們的自動化不依賴密碼。
SSH
對於 SSH 驗證,最簡單的方法是建立私鑰不受密碼保護的金鑰對。
如果您需要 SSH 私鑰的密碼,則將該金鑰/密碼新增至 ssh-agent(或 Mac OSX 鑰匙圈)是一次性操作,之後系統將不再提示您輸入密碼。
如果這不是一個選項,請使用sshpass
在您的腳本/命令中使用命令列中的密碼/密碼
在伺服器上
同樣,最簡單/傳統的解決方案是避免輸入密碼。
您的選擇取決於您的控制級別
設定 NOPASSWD sudo 政策(最好僅適用於相關命令),該政策將允許您在不輸入密碼的情況下執行互動式登入工作階段
sudo some-command --with args
。sudo -i
設定 root 帳戶以進行直接遠端 ssh 登入(不是最好的解決方案,但是當您不允許密碼驗證時,僅允許基於金鑰的身份驗證...)
根據設置,只需將您的帳戶新增至「sudo」、「wheel」或「admin」群組,您就可以獲得完整的管理員權限
當您確實想提交密碼時,expect
有一個實用程式可以自動執行該操作