使用SSH密钥切换用户"sudo su - username"

Pie*_*ier 8 linux ssh ssh-keys

我一直在尝试使用ssh密钥,以便能够通过使用在同一台Linux机器/服务器上从一个用户切换到另一个用户sudo su - username.

我想要做的是:我在一台服务器上有几个帐户.我想passwd -l username通过在同一台机器上从一个用户转到另一个用户来锁定这些帐户,并且只允许使用SSH密钥进行访问,例如: [user1@server]$ ssh user2@server

我这样做是通过将公钥复制user1authorized_keys文件中user2而且工作正常.

但是,我想也是这样做的另一件事,是要能够sudo su - user2user1通过使用SSH密钥,这样我就可以避开密码提示.

例如, [user1@server]$ sudo su - user2

我修改了sshd_config文件,并取消注释字段:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)

但我仍然无法做到这一点.

我也试过我在互联网上发现的有关代理转发的内容,但没有.

谁能帮助我如何做到这一点或指向正确的方向?

kir*_*gin 2

sudo与 SSH 和配置无关sshd

您真正想要的是一个将使用 SSH 公钥的 PAM 模块。我不确定你的原因是什么,因为整个想法看起来有点奇怪,但是,好吧。pam_ssh是执行此操作的模块。

  • 嗨,kirelagin,我想这样做的原因是因为我想切换到同一台计算机上的另一个用户,而不必成为第一个 root,然后切换到其他用户。所以,我认为 SSH 密钥可以解决这个问题。但我想我错了。相反,我想使用 sudo su - user2 从一个用户切换到另一个用户(不成为 root),并避免密码提示。所以我认为 ssh 密钥在这里会有帮助。 (2认同)