使用yubikey保护私钥无密码登录VPS或git

题:

yubikey具体是个啥感兴趣的自行google一下。

这么做的目的是保护本地存放的私钥,放心的备份自己的私钥,通常来说我们在生成私钥时为了方便是不会设置密码的,设置密码也相应的较为繁琐,yubikey即是一个很好的解决方案。

于是乎,使用yubikey硬件作为私钥的物理保护设备是极为安全的,用户需要在使用私钥ssh时需要触碰指定yubikey上的金属触点进行认证。在私钥泄露后能有效的防止攻击者暴力破解私钥密码等。

操作方式

首先本次使用的物理机为windows11,需要先下载最新版本的OpenSSH,以支持ed25519-sk密钥

#下载地址
https://github.com/PowerShell/Win32-OpenSSH/releases

插入yubikey,生成密钥,演示生成加了用户名支持git,不用git的话可以省略-C参数

ssh-keygen -t ed25519-sk -C "admin@mail.com"

Untitled

输入pin码后触碰物理密钥上的金属触点

随即生成了公钥和私钥

Untitled

将公钥文件复制上传到github,将.pub文件上传到linux服务器的.ssh文件夹中

Untitled

Untitled

添加完成后git可以验证一下,触摸后即可认证成功,之后的git操作也需触摸认证。

Untitled

linux安装相关拓展

sudo add-apt-repository ppa:yubico/stable
sudo apt update
sudo apt install libpam-yubico -y

linux还需修改/etc/ssh/sshd_config配置,完成后**sudo systemctl restart ssh**

#加入如下配置
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/id_ed25519_sk.pub

触摸后即可登录,取消后可输入密码登录。

Untitled

私钥也可进行安全的备份,保管好物理密钥即可确保私钥安全。

comments powered by Disqus