是否可以使用基于密钥的身份验证和 SSH 交互式身份验证?

是否可以使用基于密钥的身份验证和 SSH 交互式身份验证?

我想使用基于密钥的身份验证,这样我就可以通过 SSH 连接到 Linux 系统而无需指定密码,只需担心密钥文件的安全,但有可能其他人(不一定事先知道这个人是谁)需要在我不在的时候(即如果我在度假并且无法联系到我)进入这些系统。我想对所有系统使用相同的密钥文件(除非出于某种原因这是一个非常糟糕的主意,我不知道),所以我不想将此密钥提供给任何其他人。

我尝试在 Google 上搜索答案,但找不到。基于密钥的身份验证可以与键盘交互式身份验证同时使用吗?

答案1

是的,绝对如此。这是大多数系统的默认配置:如果登录时提供了密钥,则使用它。否则要求输入密码。

允许基于密码的登录是否是一个好主意则是另一个话题。

答案2

更好的办法是生成一个单独的支持帐户,将其提供给稍后提及的人员,并为该帐户(或者更好的是该帐户所在的组)提供使用 SUDO 模拟您的能力,这样他们所做的一切都会被记录下来,并且可以在不给他们权限的情况下进行控制你的帐户。

也就是说,OpenSSH(最常见的 SSH 服务器软件)的默认设置是,如果存在密钥,则尝试使用密钥进行身份验证,如果没有,则退回到基于密码的身份验证。

答案3

请参阅AuthenticationMethods中的设置man sshd。如果您正在管理 ssh 服务器,则需要熟悉该手册页的内容。

相关内容