我将 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)
你的 U 盘上有什么类型的文件系统?如果它是 FAT 文件系统之一,FAT8、FAT16、VFAT、FAT32,那么您可能不走运,因为它们没有用于存储 Unix 样式权限位的字段。(Linux 的 UMSDOS 文件系统驱动程序确实解决了这个问题,但我怀疑 OS X 是否有任何可用的 hacky。:)
如果它是 NTFS 或 NTFS2,那么也许可以进行一些映射,但我不会指望它。
如果它是 HFS+ 或 UFS,那么肯定需要更多的细节,因为它应该像你描述的那样工作,但符号链接可能会妨碍。