短編小説

短編小説

sudoを介してrootアクセス権を取得できるように、特定のSSH-RSAキー(他のユーザー、つまり「ec2-user」を介して)を設定できますか?

つまり

  1. 「Bob」(ec2-user)キーを使ってログインします。現在、ユーザー「Bob」はsudoを使用してrootに入ることができます。

  2. 今、「ボブ」には2つのキーがあります。 1つはsudo suを使用してルートに入ることができ、もう1つはそうではありません。

答え1

はい。pam_ssh_agent_authディストリビューションで提供されている場合は、パッケージを使用できます。 ssh-agentがsshキーを使用できることを確認するpamモジュールに基づいてsudoを実行できます。

短編小説

設定

  1. pam_ssh_agent_authパッケージマネージャからパッケージをインストールする
  2. 修正/etc/sudoers、好ましくはvisudo行を使用して追加する

    Defaults    env_keep += "SSH_AUTH_SOCK"
    
  3. 編集/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 コマンドの一般的なシステム認証を無効にする

  4. サーバーsudoと同様に、コマンドとストアのパブリック部分にアクセスするための「特権」キーペアを作成します。/etc/security/authorized_keys

    ssh-keygen -t rsa -b 2048
    cat ~/.ssh/id_rsa > /etc/security/authorized_keys
    

使用法

  1. クライアントでssh-agentを開き、上記のキーを追加します。

    評価 $(ssh-agent) ssh-add ~/.ssh/id_rsa

  2. プロキシ転送を介してサーバーに接続する

    SSH -Kサーバー

  3. 必要に応じてsudoを実行してください。

これまでテストした結果、Fedora/RHEL/CentOSシステムでは正常に動作しました。

関連情報