キーを介してサーバーにアクセスするというアイデアが大好きです。そのためssh
、ボックスに毎回パスワードを入力する必要がなく、ユーザーの(ロックではなくroot
)パスワードをロックすることもpasswd -l username
できるため、キーなしでログインすることはできません。
しかし、sudo
コマンドのパスワードを入力する必要がある場合、これらはすべて壊れます。そのため、パスワードなしでログインできるように、パスワードなしでsudo
セットアップしたいと思っています。
しかし、予期せぬ方法で私に逆火を起こすかもしれないという直感を持ち続けています。そのような設定に注意点はありますか?サーバー上のユーザーアカウントに対してこれを行うことを推奨/推奨しませんか?
明確化
sudo
ここでは、サービスや管理スクリプトではなく、対話型ユーザーセッションでの使用について説明しています。- クラウドサーバーの使用について話している(したがって、マシンへの物理的なローカルアクセス権がなく、リモートでしかログインできない)
sudo
パスワードの再入力が不要なタイムアウトが設定されていることは知っています。しかし、私のコンサートは、実際にパスワードを物理的に入力するための余分な時間を無駄にすることではありません。しかし、私の考えは、パスワードをまったく処理する必要がないことでした。- 暗記しなければならない場合、短すぎて安全にしたり再利用したりできない
- リモートアカウント用に長くて一意のパスワードを生成する場合、それをどこかに保存し(ローカルパスワードマネージャープログラムまたはクラウドサービス)、使用するたびに取得する必要があります
sudo
。私はそれを避けたいと思いました。
そのため、この質問で、ある構成のリスク、注意事項、トレードオフを他の構成よりもよく理解したかったのです。
フォローアップ1
すべての回答ではsudo
、個人ユーザーアカウントが侵害された場合、「簡単な」特権の昇格が可能になるため、パスワードレスは安全ではないと述べています。という事は承知しています。しかし、一方で、パスワードを使用すると、パスワードにすべての古典的なリスクが生じます(短すぎるまたは共通の文字列、異なるサービス間で繰り返されるなど)。しかし、パスワード認証を無効に/etc/ssh/sshd_config
してログイン用のキーが必要な場合は、入力しsudo
やすいように単純なパスワードを使用できますか?それは有効な戦略ですか?
フォローアップ2
root
ssh経由でログインするキーもある場合、誰かがコンピューターにアクセスしてキーを盗むと(OSのキーリングパスワードで保護されます!)、root
アカウントに直接アクセスできる可能性があります、sudo
パスをバイパスします。その場合、root
アカウントにアクセスするためのポリシーは何ですか?
/etc/passwd
nologinなどでアカウントの偽のシェルを設定し、パスワードを設定せずに、visudoでパスワードなしを設定します。これを行う場合、visudoの設定は、そのシステムアカウントが絶対に必要とするもののみを対象とする必要があります。つまり、実行すべきコマンドのみにロックダウンします。