刚解决的,赶快做个笔记。
macOS
macOS 下使用以下命令来添加。
killall ssh-agent
eval $(ssh-agent)
ssh-add -K
Windows
Windows 自带的 SSH 版本可能有点低。可以到这里下载新版本的 OpenSSH 来替换系统自带的 SSH。
https://github.com/PowerShell/Win32-OpenSSH/releases
然后使用这个命令来导入 Yubikey 中的 ED25519-SK 密钥。此命令需要在 管理员模式 下运行。
ssh-add.exe -K -S internal
我之前尝试的是这个命令:ssh-add.exe -K -S ed25519-sk。但是发现它压根没有和密钥通信,输入完 PIN 后直接抛出了 Unable to load resident keys: invalid format 错误。如果出现密钥闪烁但还是这个情况,说明你肯定是密码错的太多,重新插拔密钥再次输入即可。
后来看了这个 Issue 才解决的问题。
Windows 下的补充命令。
start-ssh-agent.cmd
Get-Service ssh-agent | Set-Service -StartupType Automatic -PassThru | Start-Service
生成 SK
ssh-keygen -t ed25519-sk -O resident -O application=ssh:YourTextHere -O verify-required
无需 Touch
https://wiki.archlinux.org/title/SSH_keys#:~:text=Additionally%2C,authorized_keys
ssh-keygen -t ed25519-sk -O resident -O application=ssh:YourTextHere -O no-touch-required
写入到 authorized_keys 时需注意
no-touch-required sk-ssh-ed25519@openssh.com AAAAInN... user@example.com
羡慕有Yubikey的,我连Canokey都玩不起
可以的,羡慕有yubikey