需要在同一台主机上以不同用户身份在不同的主机上运行脚本,且无需输入密码

需要在同一台主机上以不同用户身份在不同的主机上运行脚本,且无需输入密码

我需要在同一台主机上运行脚本,让不同的 Linux 用户登录到不同的主机,而无需输入密码。换句话说,不同的用户在源主机上,无需输入密码即可登录(ssh/scp/其他 shell 脚本)到其他主机。

以下为示例:

hostA-user1、hostA-user2、hostA-user3… 在 hostA 上:能够在 hostB 和 hostC 上执行 shell“uname –a”

hosts-user 作为 hostB 上的普通用户,允许其他用户从不同的主机登录。hosts-user 作为 hostC、hostD 等上的普通用户,允许其他用户从不同的主机登录。

但我不想在 hostB、hostC 等主机上为 hostA 上的每个用户设置 ~/.ssh/authorized_keys,也不想让 users:hostA-user* 在从 hostA 登录和/或运行脚本时提示输入密码。有什么办法吗?提前致谢。

答案1

您是否考虑过安装具有单点登录功能的 kerberos 和 LDAP?一旦他们登录到 HostA,他们的凭据就会被存储,他们可以在不提示的情况下登录到 HostB(HostC 等)。

我个人喜欢使用 ssh-agent 来存储我的凭据,然后我就可以轻松登录整个网络。但这需要使用 .ssh/authorized_keys,而您说您不想这样做。我使用它来在网络上运行脚本(不需要 root 访问权限的脚本)。

相关内容