如何接收SSH公钥?

如何接收SSH公钥?

我开始管理一台新的 Mac Mini 作为我办公室的服务器。我们希望能够通过 SSH 连接到计算机,但不希望长期启用密码身份验证,因此倾向于使用强公钥身份验证。

ssh-copy-id仍然需要密码才能操作,至少第一次是这样。如果公钥与帐户关联,是否可以在每个帐户的基础上禁用密码身份验证?

或者,是否有一种自动(例如:我不必检查我的电子邮件)方式来安装那些不涉及用户设置密码、使用一次性密码等的公钥?

答案1

您可以使用配置管理系统,例如安西布尔或者木偶

使用过这两种方法后,我认为 Ansible 对于 Ops-Guy 来说更容易学习。这授权密钥模块使用起来很简单。

答案2

你问 ”如果公钥与帐户关联,是否可以在每个帐户的基础上禁用密码身份验证?

不幸的是,sshd_config没有任何选择可以做到这一点。也许您可以提交一份愿望清单错误报告来请求该功能(但首先检查“错误”之前是否已提交)。不要指望得到积极或快速的回应。

同时,您可以在未来某个时间(至少一个月)宣布禁用密码身份验证的截止日期,并且用户需要在此之前安装公钥。

也输入相同的消息/etc/motd,这样他们每次登录时都会收到提醒。至少提供一个网页链接,其中包含以下说明:a) 在各种常见平台上生成公钥/私钥对,以及 b) 各种安装方法~/.ssh/authorized_kets您的 mac mini 服务器上的公钥。

如果你想对此进行一些真正邪恶的唠叨,你可以设置一个 cron 作业来使每个没有文件的非系统用户的密码过期~/.ssh/authorized_keys,迫使他们每次登录时更改密码。 不建议在任何类似于专业环境的环境中,但在用户是松弛的家人/朋友的家庭服务器上短时间可能没问题。

相关内容