Sudo su - username
を使用して、同じLinuxマシン/サーバーで1人のユーザーから別のユーザーに切り替えることができるように、sshキーを使用しようとしています。
私がやりたいことは、1つのサーバーに複数のアカウントを持っていることです。これらのアカウントをpasswd -l username
でロックし、同じマシン上で1人のユーザーから別のユーザーにssh-ingすることにより、SSHキーでのみアクセスを許可します。例:[user1@server]$ ssh user2@server
これを行うには、user1
の公開鍵をauthorized_keys
のuser2
ファイルにコピーしました。
しかし、私がやりたいもう1つのことは、sshキーを使用してSudo su - user2
からuser1
を実行できるようにすることです。これにより、パスワードプロンプトを回避できます。
例:[user1@server]$ Sudo su - user2
Sshd_configファイルを変更し、フィールドのコメントを外しました。
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
しかし、それでもできません。
エージェントの転送に関してインターネットで見つけたものも試しましたが、何もしませんでした。
これを行う方法について誰かが私を助けたり、正しい方向に向けたりできますか?
Sudo
はSSHおよびsshd
configとは関係ありません。
あなたが本当に欲しいのは、SSH公開鍵を使用するPAMモジュールです。全体のアイデアが少し奇妙に思われるので、私はあなたの理由が何であるかわかりませんが、まあ。 pam_ssh
はこれを行うモジュールです。
Sudoをパスワードなしで別のユーザーに機能させるには、次の変更が必要です(スーパーユーザーアクセスで実行します)。
/ etc/sudoersを編集します
visudo
構成の変更
# Allow user to Sudo su as anyone without password
user ALL=(ALL) NOPASSWD: ALL
%group ALL=(ALL) NOPASSWD: ALL
# Allow user to become another user
user ALL=(user2) NOPASSWD: ALL
%group ALL=(user2) NOPASSWD: ALL
後者のSudo suで-user2は動作するはずです
唯一の障害は、Sudoグループに追加されるユーザーでした。
usermod -a -G Sudo user
上記の設定の例では、最初にユーザーを表示し、次にグループ別に表示しています。必要なのは2つのうちの1つだけです-
編集:
visudo
%group2 ALL=(ALL:ALL) PASSWD: ALL
%group1 ALL=(ALL:ALL) NOPASSWD: ALL
実行グループを追加
groupadd group1
groupadd group2
パスワードを必要とするユーザーのために
usermod -a -G group2 user1
usermod -a -G group2 user2
etc..
パスワードを必要としないユーザーの場合:
usermod -a -G group nuser1
usermod -a -G group nuser2
etc