为什么我在运行 ssh-add 时会收到“权限被拒绝”?

Ram*_*amy 5 linux ssh permissions

我已经生成了密钥,并让我的公司 IT 团队批准了它们的访问。但是,每次启动我的机器时,我都需要将它们添加到我的终端中(我得到的解决这个问题的脚本对我来说还不起作用)。所以现在我ssh-add ~/.ssh/keyfolder/private_key每次启动机器时都必须发出。

但是,今天,我开始收到此错误:

~/.ssh/keyfolder/private_key: Permission denied
Run Code Online (Sandbox Code Playgroud)

我试过在那个私钥上发布一个 chmod 777 但没有运气。

我做了什么/我做错了什么?

$sudo ls -lha ~/.ssh/keyfolder/private_key
-rwxrwxrwx 1 rabdelaz staff 1.7K 2013-07-29 10:19 /home/rabdelaz/.ssh/keyfolder/private_key
Run Code Online (Sandbox Code Playgroud)

答案:我需要在正确的位置(显然)有正确的权限级别。

所以我所做的是将“密钥文件夹”和密钥本身设置为 600。

不确定之前的权限是什么...

mik*_*ock 9

您希望密钥文件夹和密钥本身只能由用户读取。我总是chmod 700 ~/.ssh; chmod 600 ~/.ssh/*自己做,您显然希望更改这些目录以适合您自己的用例。

或者,您可以 chown -R $USERNAME ~/.ssh; chmod -R go-rwx ~/.ssh

例如,chown当以 root 身份下载或安装密钥文件时,这可能是必需的。