我的 Uni 的所有 ssh 密钥都被盗了。系统管理员决定删除所有 .ssh 文件夹并将文件移动到一个我不记得名字的文件夹中。
我对系统管理员如何更改默认 SSH 密钥文件夹很感兴趣。
如何将默认的 ~/.ssh 文件夹更改为 ~/TopSecret/ 文件夹?这样我的电脑就能检测到密钥在新文件夹中吗?
答案1
查看 sshd_config(5) 并进行编辑/etc/ssh/sshd_config
。请注意,相关配置文件的路径是为每个文件单独设置的(也就是说,这不是.ssh
在配置文件中的某个位置将字符串更改为其他内容的问题)。
无论如何,您正在寻找的设置是AuthorizedKeysFile
。
答案2
为了减少私钥泄露的影响,建议对密钥本身进行密码加密。离线暴力攻击特定密钥仍然是可能的,但这确实会给那些偷走大量用户密钥的人带来麻烦。
如果无法加密,另一个选择是将 sshkey 的使用限制在特定 IP 地址。在添加到远程服务器的公钥中使用此语法。
from="ipaddress1,ipaddress2" ssh-rsa ...
这意味着如果有人窃取了这些密钥,那么如果从任何其他服务器(具有不同的 IP)使用它们,它们将毫无用处。
更重要的是,您不应该将有价值的私钥存储在您无法控制的任何东西上。要连接到服务器,将公钥存储在服务器上就足够了。
答案3
您可以使用“mv”命令重命名文件夹。因此,您可以通过“mv TopSecret .ssh”将 TopSecret 重命名回 .ssh。
管理员可以通过更改 /etc/ssh/sshd_config 文件的 AuthorizedKeysFile 参数来控制 sshd 查找密钥的位置。您无法更改此设置。
答案4
要更改目录的默认位置.ssh
,您可以编辑以下设置:
- /etc/ssh/ssh_config:编辑 的值
IdentityFile
。示例条目如下所示:IdentityFile /es2/ssh/id_rsa
。这/es2/ssh
是保存公钥和私钥所需的目录。 - /etc/ssh/sshd_config:更新的值
AuthorizedKeysFile
,示例条目如下:AuthorizedKeysFile /es2/ssh/authorized_keys
另外,完成此配置更新后,请不要忘记重新启动 ssh 守护程序。