我开始管理一台新的 Mac Mini 作为我办公室的服务器。我们希望能够通过 SSH 连接到计算机,但不希望长期启用密码身份验证,因此倾向于使用强公钥身份验证。
ssh-copy-id
仍然需要密码才能操作,至少第一次是这样。如果公钥与帐户关联,是否可以在每个帐户的基础上禁用密码身份验证?
或者,是否有一种自动(例如:我不必检查我的电子邮件)方式来安装那些不涉及用户设置密码、使用一次性密码等的公钥?
答案1
答案2
你问 ”如果公钥与帐户关联,是否可以在每个帐户的基础上禁用密码身份验证?”
不幸的是,sshd_config
没有任何选择可以做到这一点。也许您可以提交一份愿望清单错误报告来请求该功能(但首先检查“错误”之前是否已提交)。不要指望得到积极或快速的回应。
同时,您可以在未来某个时间(至少一个月)宣布禁用密码身份验证的截止日期,并且用户需要在此之前安装公钥。
也输入相同的消息/etc/motd
,这样他们每次登录时都会收到提醒。至少提供一个网页链接,其中包含以下说明:a) 在各种常见平台上生成公钥/私钥对,以及 b) 各种安装方法~/.ssh/authorized_kets
您的 mac mini 服务器上的公钥。
如果你想对此进行一些真正邪恶的唠叨,你可以设置一个 cron 作业来使每个没有文件的非系统用户的密码过期~/.ssh/authorized_keys
,迫使他们每次登录时更改密码。 不建议在任何类似于专业环境的环境中,但在用户是松弛的家人/朋友的家庭服务器上短时间可能没问题。