我想让虚拟机接受所有 SSH 请求。也就是说,网络上的任何人(即主机)都可以通过 SSH 进入 shell,而无需密码检查、公钥等。我知道这在很大程度上违背了 SSH 的前提,但这可能吗?
标准:它不应该是 VM 黑客;我希望它模拟同一网络上的两台计算机,其中一台具有“瑞士奶酪”安全性。
总之:ssh user_name@host_machine
应该可以工作,无论 ssh 机器的性质、设置、RSA 密钥等如何。
答案1
两个选项:
- 重新编译 SSH,无论密码是什么都始终接受(可能只需要更改一两行)
- 修改您的 PAM 堆栈以始终接受身份验证。您可以将其设置为全部服务,或者您可以为入站 SSH 指定备用 PAM 堆栈。
请注意,我对 PAM 规则有点生疏,这些是(明显地) 未经测试。因此您可能需要进行一些调整才能使其正常工作。如果可以正常工作,请随意编辑。
但是例如,如果尝试的用户名列在文件中,则允许:
# in /etc/pam.d/sshd
auth sufficient pam_listfile.so item=user sense=allow file=/etc/sshd_allowed_users onerr=fail
或者只是允许一切:
# in /etc/pam.d/sshd
auth sufficient pam_permit.so
假设用户必须选择一个有效帐户的用户名。但我不能 100% 确定会发生什么。