'id_key'的权限0777太开放


11

我将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上。

知道如何解决吗?

Answers:


6

USB记忆棒上有什么类型的文件系统?如果它是FAT文件系统之一,即FAT8,FAT16,VFAT,FAT32,那么您可能不走运,因为它们没有用于存储Unix样式权限位的字段。(适用于Linux的UMSDOS文件系统驱动程序确实可以解决此问题,但我怀疑OS X是否具有任何可用的技巧。:)

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

如果是HFS +或UFS,则肯定需要更多详细信息,因为它应该如您所描述的那样起作用,但是符号链接可能会妨碍您。


4
无论如何,有没有告诉SSH忽略权限问题?还是将其硬编码到其中?
横街

5

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

$ chmod 600 /Volumes/USB/id_rsa

从Windows获得了一个钥匙。这解决了我在Linux上的问题。
aloisdg移至codidact.com,

0

您的闪存驱动器可能已预先格式化为FAT32,它不支持Unix样式的权限。将您的闪存驱动器重新格式化为更好的文件系统(由于在Mac上,因此会想到HFS +)。


0

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


0

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

这是解决方案::

解决方案:在/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主机密钥更改错误

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.