我的 SSH 密钥无法在新安装的 KDE neon 上使用。我尝试重新安装密钥,最后在调试模式下发现了问题。密钥文件未被使用,因为它有一个自定义名称。这很令人惊讶,因为它在过去几年中在 Ubuntu 18.04 上运行良好,但在新的 KDE neon 上却有这个错误。
该程序是常规的(已经在 Ubuntu 18.04 上运行)
- 在管理员端生成密钥对ssh-keygen -b 4096
(我指定一个自定义名称来区分服务器)
-将新密钥添加到服务器ssh-copy-id -i ~/.ssh/custom_name.pub [email protected]
一切正常,没有错误,密钥已在~/.ssh/authorized_keys
服务器端确认
问题似乎是 ssh 在连接时没有尝试自定义名称密钥:
debug1: Trying private key: /home/gerge/.ssh/id_rsa
debug1: Trying private key: /home/gerge/.ssh/id_ecdsa
debug1: Trying private key: /home/gerge/.ssh/id_ecdsa_sk
debug1: Trying private key: /home/gerge/.ssh/id_ed25519
debug1: Trying private key: /home/gerge/.ssh/id_ed25519_sk
debug1: Trying private key: /home/gerge/.ssh/id_xmss
debug1: Trying private key: /home/gerge/.ssh/id_dsa
如果调用该键,id_rsa
则它可以工作,但我需要自定义名称,因为键太多。有什么想法吗?
本地管理系统:KDE neonLinux HOSTNAME 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
答案1
这不是一个错误。
您没有-i ~/.ssh/custom_name
在您的SSH(1)命令,因此它使用默认值:
-我 身份文件
选择一个文件,从中读取用于公钥认证的身份(私钥)。您还可以指定一个公钥文件,以便在本地没有私钥文件时使用在 ssh-agent(1) 中加载的相应私钥。默认值为
~/.ssh/id_rsa
,~/.ssh/id_ecdsa
,~/.ssh/id_ecdsa_sk
,~/.ssh/id_ed25519
,~/.ssh/id_ed25519_sk
和~/.ssh/id_dsa
。
您也可以将其添加到您的.ssh/config
,例如,
Host 192.168.x.x
User user
IdentityFile ~/.ssh/custom_name