“id_key”的权限 0777 太开放

Tre*_*ott 18 ssh

我将 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).
Run Code Online (Sandbox Code Playgroud)

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

知道如何修复它吗?

小智 10

这是 Mac 上的权限问题。文件系统是 HFS+,所以第一条注释到目前为止是不正确的。权限是 *nix 操作系统的基本基础,因此您应该了解它。

$ chmod 600 /Volumes/USB/id_rsa
Run Code Online (Sandbox Code Playgroud)


sar*_*old 8

你的 U 盘上有什么类型的文件系统?如果它是 FAT 文件系统之一,FAT8、FAT16、VFAT、FAT32,那么您可能不走运,因为它们没有用于存储 Unix 样式权限位的字段。(Linux 的 UMSDOS 文件系统驱动程序确实解决了这个问题,但我怀疑 OS X 是否有任何可用的 hacky。:)

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

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

  • 反正有没有告诉SSH忽略权限问题?或者这是硬编码的吗? (4认同)