‘id_key’ 的权限 0777 太开放

‘id_key’ 的权限 0777 太开放

我将 SSH 私钥文件保存在单独的 USB 拇指驱动器(加密)上,但当我尝试使用它连接到远程主机时出现错误:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/Volumes/USB/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Volumes/USB/id_rsa
Permission denied (publickey).

我尝试更改密钥文件的权限 (chmod 600 id_rsa),但它似乎仍设置为 777(更改未生效)。这是在 Mac OS X 上。

知道如何修复它吗?

答案1

您的 USB 驱动器上安装的是哪种类型的文件系统?如果是 FAT 文件系统之一,例如 FAT8、FAT16、VFAT、FAT32,那么您可能运气不佳,因为它们没有用于存储 Unix 样式权限位的字段。(Linux 的 UMSDOS 文件系统驱动程序确实破解了这一点,但我怀疑 OS X 是否有任何可用的破解程序。:)

如果是 NTFS 或 NTFS2,那么也许可以进行一些映射,但我不会指望它。

如果是 HFS+ 或 UFS,那么肯定需要更多细节,因为它应该按照您描述的方式工作,但符号链接可能会妨碍。

答案2

这是 Mac 上的权限问题。文件系统是 HFS+,因此第一条注释完全不正确。权限是 *nix 操作系统的基本基础,因此您应该了解这一点。

$ chmod 600 /Volumes/USB/id_rsa

答案3

我认为chmod 600 /Volumes/USB/id_rsa就足够了。

答案4

我遇到了同样的问题,我这样做是为了解决我的问题。

这是解决方案::

解决方案 :在 /home/user/.ssh/known_hosts 中添加正确的主机密钥

无需删除整个 known_hosts 文件,只需删除该文件中有问题的行即可。例如,如果您有 3 个服务器,如下所示。

myserver1.com,64.2.5.111 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA11FV0EnGahT2EK8qElocjuHTsu1jaCfxkyIgBTlxlrOIRchb2pw8IzJLOs2bcuYYfa8nSXGEcWyaFD1ifUjfHelj94AAAAB3NzaC1yc2EAAAABIwAAAIEA11FV0E
nGahT2EK8qElocjuHTsu1jaCfxkyIgBTlxlrOIRchb2pw8IzJLOs2bcuYYfa8nSXGEcWyaFD1ifUjfHelj94H+uv304/ZDz6xZb9ZWsdm+264qReImZzruAKxnwTo4dcHkgKXKHeefnBKyEvvp/2ExMV9WT5DVe1viVwk=
myserver2.com,125.1.12.5 ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEAtDiERucsZzJGx/1kUNIOYhJbczbZHN2Z1gCnTjvO/0mO2R6KiQUP4hOdLppIUc9GNvlp1kGc3w7B9tREH6kghXFiBjrIn6VzUO4uwrnsMbnAnscD5EktgI7fG4ZcNUP 5+J7sa3o+rtmOuiFxCA690DXUJ8nX8yDHaJfzMUTKTGxQz4M/H2P8L2R//qLj5s3ofzNmgSM9lSEhZL/IyI4NxHhhpltYZKW/Qz4M/H2P8L2R//qLj5s3ofzNmgSM9lSEhZL/M7L0vKeTObue1SgAsXADtK3162a/Z6MGnAazIviHBldxtGrFwvEnk82+GznkO3IBZt5vOK2heBnqQBfw=
myserver3.com,125.2.1.15 ssh-rsa 
5+J7sa3o+rtmOuiFxCA690DXUJ8nX8yDHaJfzMUTKTGx0lVkphVsvYD5hJzm0eKHv+oUXRT9v+QMIL+um/IyI4NxHhhpltYZKW
as3533dka//sd33433////44632Z6MGnAazIviHBldxtGrFwvEnk82/Qz4M/H2P8L2R//qLj5s3ofzNmgSM9lSEhZL/M7L0vKeTObue1SgAsXADtK3162a/Z6MGnAazIviHBldxtGrFwvEnk82+GznkO3IBZt5vOK2heBnqQBfw==

要删除第二台服务器 (myserver.com),请打开文件:

# vi +2 .ssh/known_hosts

然后点击 dd ​​命令删除行。保存并关闭文件。或者使用以下命令

$ vi ~/.ssh/known_hosts

现在转到第 2 行,输入以下命令

:2

现在用 dd 删除行并退出:

dd
:wq

根据您的问题查看完整的视频教程:

SSH 主机密钥更改错误

相关内容