SSH 鍵認証に Keepass+Putty を使用する場合の sudo 認証

SSH 鍵認証に Keepass+Putty を使用する場合の sudo 認証

私はPuttyを使用してSSHを介してさまざまなLinuxシステム(主にCentOSとUbuntu)にログインします。 SSH 鍵認証を使用し、鍵は Keepass 2.x に保存され、それを介して Putty に渡されます。基本エージェントプラグイン(基本的に美人コンテストに代わるもの)。これまではうまくいきます。

ただし、ログイン後にパスワードを入力する必要がありますsudo。回避策がありますか?それでは、sudoはSSHキーを介してログインするときにパスワードを要求しませんか?


6年前にも同様の質問がありました。sudo:SSHキーを使用してログインするときにパスワードを要求しないでください。 。与えられた答えは実際の答えではありませんが、SSHキーを使用してログインし、rootとして直接ログインする解決策です。これをしないにはいくつかの理由があります。

答え1

SSHプロキシ転送が利用可能な場合、実際には他の方法があります。pam_ssh_agent_auth.so (出典はこちら)あなたの要件を満たすPAMモジュールです。 Debian、Ubuntu、libpam-ssh-agent-authおよびCentOSパッケージでパッケージとして使用できますpam_ssh_agent_auth

# Debian/Ubuntu:
apt update; apt install libpam-ssh-agent-auth
# CentoOS
yum install pam_ssh_agent_auth

セキュリティに関する考慮事項

開発者が述べたように、SSHプロキシ配信を使用するリスクを評価する必要があります。

もちろん、いくつかの注意事項があります。 ssh-agent配信にはセキュリティ上のリスクがあるため、環境に応じて慎重に検討する必要があります。信頼できない中間サーバーがなく、特権コマンド呼び出しに必要なトレーサビリティ、責任、および認証を維持する場合は、利点がリスクよりも大きくなければなりません。

KeeAgentにオプションがあることを確認する場合クライアントプログラムがキーの使用を要求するときは、常に確認が必要です。一度設定すると、リモートホストにrootアクセス権を持つ他の人から保護レベルを提供することもできます。明らかな理由なくSSHキー要求の確認ダイアログボックスが表示された場合、誰かがSSHプロキシを乱用しようとしていることがわかります。接続。

NOPASSWDを空にするときは、KeePassおよび/またはワークステーション画面を常にロックしてください。また、SSHキーを使用してログインを許可し、ルートファイルにrootとしてログインできるすべての人を追加するsudoersよりも優れています。 sudoのメリットをそのまま維持するからです。rootauthorized_keys

使用法

authこれを使用するには、デフォルトで次の最初の行に追加します/etc/pam.d/sudo

auth    sufficient      pam_ssh_agent_auth.so file=/etc/security/authorized_keys

簡単なsedコマンドでこれを行うことができます(最初の行がコメントなので、2行目に追加してください)。

sed -i '2 i\auth    sufficient      pam_ssh_agent_auth.so file=/etc/security/authorized_keys' /etc/pam.d/sudo

sudo次に、/etc/security/authorized_keys一般的な1行のOpenSSH互換形式でSSH認証を使用することを許可されている必要があるユーザーの公開SSHキーを追加します。

SSH_AUTH_SOCK次に、sudoersファイルを編集して環境変数を保存するようにsudoersを設定しますvisudo。この行を別の行があるセクションに追加してくださいDefaults

Defaults env_keep += "SSH_AUTH_SOCK"

次に、SSHクライアントがプロキシ転送を許可していることを確認する必要があります。 PuTTYでは、以下を確認する必要があります。

Putty プロキシ転送設定

-AコマンドラインSSHを使用している場合は、次のパラメータを指定する必要があります。

ssh -A [email protected]

テスト中にを使用してsudoセッションを終了することを忘れないでくださいsudo -k

関連情報