Ubuntu 22.04中ssh-agent添加私钥报错:无法加载驻留密钥
解决Ubuntu 22.04中ssh-add添加私钥的问题
错误原因
你用的-K参数在Linux版ssh-add里的作用和Mac完全不同:
- Mac的
ssh-add -K是把私钥密码存入系统钥匙串 - Linux的
ssh-add -K是专门用来加载FIDO/U2F硬件密钥中的常驻密钥的,你的本地私钥不属于这类,所以会触发"device not found"错误。
正确操作步骤
- 启动ssh-agent(当前终端会话生效)
eval "$(ssh-agent -s)"
- 直接添加私钥,去掉
-K参数
ssh-add /my/key
输入私钥密码后,当前终端会话内SSH连接就不需要再输密码了。
额外建议
- 尽量不要用root身份管理SSH私钥,建议把私钥移动到普通用户目录(比如
/home/f/.ssh/),然后修改权限和归属:
sudo chown f:f /home/f/.ssh/your_key sudo chmod 600 /home/f/.ssh/your_key
之后切换回普通用户执行ssh-add操作即可。
- 如果想让密码永久保存,Ubuntu桌面版默认自带
gnome-keyring,只要你用图形界面登录,ssh-add会自动把私钥密码存入钥匙串,后续打开终端无需重复输入密码。
内容的提问来源于stack exchange,提问作者franc
相关产品推荐
相关产品推荐

