Ubuntu 20.04 LTS上的 SSH和FIDO认证加强

Tags: lang:cn, ssh, 认证,

本篇博客的原文出自 Joshua Powers

Ubuntu 20.04 LTS内最为让人兴奋的安全增强是能将线上快速身份验证(FIDO)或通用2次认证因素(U2F)设备与SSH一起使用。在已经很强大的认证机制SSH上通过一个设备进行二次身份认证使得用户可为其基础设施再增加额外一层安全。Ubuntu 20.04 LTS通过最新版OpenSSH 8.2包含了此功能。

对于用户而言,设备上一次轻触代替一次性密匙进行系统登陆验证。对于在寻找在服务器上使用的FIDO或U2F的管理员来说,他们需要做得事情是安装一个版本号为8.2或更新版支持新密匙类型的OpenSSH 服务器端即可。

新的公匙类型和证书“ecdsa-sk”和“ed25519-sk”支持支持此类身份验证设备。常规的公、私匙文件的保存方式不受影响。用户仍然可以给私匙添加密码。通过使用2次认证,仅私有SSH密钥已不足以执行身份验证。这样的结果使得私匙泄露也不会造成安全威胁。

下面的部分将演示用户如何生成新的密匙类型和使用他们来进行认证。首先,需要把设备接入系统。接下来,还需要生成一个新的密匙和新类型中的一种。在这个过程中,将提示用户轻触令牌以确认操作:

ubuntu@focal-openssh-client:~$ ssh-keygen -t ecdsa-sk
Generating public/private ecdsa-sk key pair.
You may need to touch your authenticator 
to authorize key generation.

Enter file in which to save the key 
(/home/ubuntu/.ssh/id_ecdsa_sk):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in 
/home/ubuntu/.ssh/id_ecdsa_sk

Your public key has been saved in 
/home/ubuntu/.ssh/id_ecdsa_sk.pub

然后,用户可以确认是否新的私钥和公钥已被创建。

ubuntu@focal-openssh-client:~$ ls -l .ssh/id_ecdsa_sk*
-rw------- 1 ubuntu ubuntu 610 mar 30 17:58 .ssh/id_ecdsa_sk
-rw-r--r-- 1 ubuntu ubuntu 221 mar 30 17:58 .ssh/id_ecdsa_sk.pub

要使用这些密匙,用户需要做的是像以前一样使用ssh-copy-id来复制这些密匙。将公匙加到想要连接的服务器上的~/.ssh/authorized_keys文件内就算完成。

要使用这些密匙登陆一个设备,用户需要执行以下命令:


ubuntu@focal-openssh-client:
~$ ssh -i .ssh/id_ecdsa_sk 10.0.100.75

Confirm user presence for key ECDSA-SK 
(...)
Welcome to Ubuntu Focal Fossa (development branch) 
(GNU/Linux 5.4.0-18-generic x86_64)
(...)
Last login: Mon Mar 30 20:29:05 2020 from 10.0.100.1
ubuntu@focal-openssh-server:~$

确认用户存在提示将会出现,并等待用户触摸二次认证设备。

在写这篇博客的同时,GNOME桌面上的提示确认有些问题。关于bug修复信息和时间等内容请参考launchpad bug帖子。

前往下载Ubuntu 20.04 LTS (Focal Fossa)

Newsletter signup

Select topics you’re
interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

We are changing the way you build snaps from GitHub repos

On the 11th March 2020 we introduced a new process for building a snap using GitHub repos to snapcraft.io. Here is all you need to know about this update....

GNOME 3.34 snapcraft extension

We constantly strive to empower developers. Part of that aim extends to making development easier, for example improving build tools and documentation. As an...

An adventure through the Snap Store

An application store with a large number of entries is a double-edged sword. It’s often a good sign of a vibrant, thriving community of software creators,...