更改桌面后找不到 SSH 密钥文件

更改桌面后找不到 SSH 密钥文件

最近我将桌面从 Ubuntu 默认桌面 (Unity) 更改为 Kubuntu 桌面。我不明白为什么这会导致我的 SSH 密钥文件配置出现错误。

FE 在“主机”计算机上有一个“用户”用户,其中我的一个密钥(PK 在本地 ~/.shh 中)已添加到授权密钥中。我想要做的是:

ssh user@host

这在 Unity 中运行良好(如果我切换回 Unity 仍然有效),但是当我登录 Kubuntu 桌面时,系统会提示我输入密码。

这在两个桌面上都可以正常工作:

ssh user@host -i ~/.ssh/key

所以我猜测 ssh 程序找不到我的密钥文件 - 但是为什么桌面很重要,我该如何解决这个问题?

来自我的本地 .ssh 目录 (ls -la) 的相关部分:

drwx------  2 szaboadam szaboadam 4096 okt    7 16:32 .
-rw-------  1 szaboadam szaboadam 1675 okt    7 16:32 key
-rw-r--r--  1 szaboadam szaboadam  415 okt    7 16:32 key.pub

从服务器 .ssh 目录:

drwx------ 2 git git 4096 Oct  7 16:33 .                                           
-rwx------ 1 git git  566 Oct  7 16:33 authorized_keys    

我正在使用 Ubuntu 14.04。谢谢您的帮助!

答案1

奇怪的是,该命令在 Unity 上有效,因为通常情况下,~/.ssh/id_*除非密钥被覆盖,否则密钥都是从中读取的。您可以将key和分别重命名key.pubid_*id_*.pub,其中*dsarsaecdsaed25519具体取决于密钥的类型(您可以从公钥文件中获取)。

或者,~/.ssh/configIdentityFile ~/.ssh/key其中创建。

编辑:您还可以使用~/.ssh/config在每个主机上指定密钥,例如

Host host1
    IdentityFile ~/.ssh/key1

Host host2
    IdentityFile ~/.ssh/key2

相关内容