sudoを介してrootアクセス権を取得できるように、特定のSSH-RSAキー(他のユーザー、つまり「ec2-user」を介して)を設定できますか?
つまり
「Bob」(ec2-user)キーを使ってログインします。現在、ユーザー「Bob」はsudoを使用してrootに入ることができます。
今、「ボブ」には2つのキーがあります。 1つはsudo suを使用してルートに入ることができ、もう1つはそうではありません。
答え1
はい。pam_ssh_agent_auth
ディストリビューションで提供されている場合は、パッケージを使用できます。 ssh-agentがsshキーを使用できることを確認するpamモジュールに基づいてsudoを実行できます。
短編小説
設定
pam_ssh_agent_auth
パッケージマネージャからパッケージをインストールする修正
/etc/sudoers
、好ましくはvisudo
行を使用して追加するDefaults env_keep += "SSH_AUTH_SOCK"
編集
/etc/pam.d/sudo
と追加(後の2行目#%PAM-1.0
)auth sufficient pam_ssh_agent_auth.so file=/etc/security/authorized_keys
そしてその行をコメントアウトしてください
#auth include system-auth
sudo コマンドの一般的なシステム認証を無効にする
サーバー
sudo
と同様に、コマンドとストアのパブリック部分にアクセスするための「特権」キーペアを作成します。/etc/security/authorized_keys
ssh-keygen -t rsa -b 2048 cat ~/.ssh/id_rsa > /etc/security/authorized_keys
使用法
クライアントでssh-agentを開き、上記のキーを追加します。
評価 $(ssh-agent) ssh-add ~/.ssh/id_rsa
プロキシ転送を介してサーバーに接続する
SSH -Kサーバー
必要に応じてsudoを実行してください。
これまでテストした結果、Fedora/RHEL/CentOSシステムでは正常に動作しました。