-bash:cd:.ssh /:权限被拒绝


13

当我cd .ssh在终端输入时,它返回-bash: cd: .ssh/: Permission denied。现在,我无法将ssh密钥添加到ssh中。

当我输入ssh-add ~/.ssh/idname时说/Users/Dan/.ssh/idname: Permission denied

我认为这与我输入文字有关,ls -d因为在我将其输入终端之前它可以工作吗?


输出是id;ls -ld ~/.ssh什么?
michas,2014年

Answers:


24

由于您在目录上具有“权限被拒绝”,因此该目录很可能没有执行权限。同样,要遍历目录树以获取文件,您将需要在根目录和文件之间的每个目录上具有执行权限(因此,其他命令的错误相同)。

尝试在目录上设置执行权限

chmod u+xr,go-rwx ~/.ssh

然后查看是否可以再次运行这些语句。


这样简单而优雅的命令。立即在我的Mac上工作!
IgorGanapolsky '16

缺点chmod u+xr,go-rwx是用户需要先确认需要添加或减去哪些设置。另一方面,它比使用数字代码(例如)更全面chmod 1755
noobninja

1

除了Arcege的答案,您还可以使用
sudo su <enter password> cd .ssh
The sudo命令(没有其他用户名),如果您是sudo-er(您的用户名位于/etc/sudoers正确的字段中),则允许您以超级用户(root)的身份运行命令。并知道该启用了sudo的用户的密码。

警告:
如果您不知道自己在做什么,以超级用户身份操作可能会很危险。您可能会无意间修改或破坏必要文件。请sudo谨慎使用。


是的,这在无法解决问题时有效chmod
Pro Q
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.