使用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"
输入pin码后触碰物理密钥上的金属触点
随即生成了公钥和私钥
将公钥文件复制上传到github,将.pub文件上传到linux服务器的.ssh文件夹中
添加完成后git可以验证一下,触摸后即可认证成功,之后的git操作也需触摸认证。
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
触摸后即可登录,取消后可输入密码登录。
私钥也可进行安全的备份,保管好物理密钥即可确保私钥安全。