密码难以记忆、可能被猜中,也往往不够安全,因此 SSH 通常更推荐使用密钥身份验证。 但密钥也可能被窃取或丢失,尤其是在浏览器客户端中使用时。
WebAuthn 是一种用于创建并在系统中安全保存密钥的标准。 这些密钥完全由操作系统、浏览器、手机或 USB 设备管理,密钥本身无法被直接导出,但系统可以代为完成必要的身份验证操作。 这样便可将设备作为安全密钥库,用于登录 SSH 服务器,而无需自行管理密钥文件。
WebSSH 客户端现已支持基于 WebAuthn 的 SSH 身份验证。您可以在页面中创建由本机系统管理的密钥,
或创建由 USB 安全密钥、手机等外部设备管理的密钥,并使用它们登录 SSH 服务器。
创建密钥后,页面会显示对应公钥;请将其添加到服务器的 authorized_keys 文件中。
提示:WebAuthn 身份验证还需要服务器端支持。服务器应运行 OpenSSH 8.4 或更高版本,并启用相应配置。
如需启用基于 WebAuthn 的身份验证,请在 sshd_config 中加入:PubkeyAcceptedAlgorithms=+webauthn-sk-ecdsa-sha2-nistp256@openssh.com