我需要在同一台主机上运行脚本,让不同的 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 访问权限的脚本)。