特権を高めるサーバーに接続するスクリプトを作成したいと思います。今はスクリプトを使用していますが、expect
変更したいと思います。これを達成しようとした1つの方法は次のとおりです。
ssh host -t 'echo "passowrd" | sudo -S echo; sudo -i'
サーバーのコマンド履歴にパスワードが保存されていますか?次のコマンドのドキュメントが見つかりません。
ssh host -t 'ls;echo $SHELL;history;bash -l'
このコマンドは、lsコマンドと「/bin/bash」の結果を表示します。
答え1
sudoerを使用すること(visudoまたは/etc/sudoers.dに設定を置くこと)は、ユーザーにパスワードなしで与えられたコマンドを実行する権限を与えるより良いアプローチです。
対話型モードを使用していない場合(ログインせずにリモートで実行)、bash履歴にエントリはありません。 Bashの履歴にアクセスするには、次のコマンドを使用する必要があります。
ssh host "cat .bash_history"
ただし、リモート実行ではエントリが見つかりません。