当我在终端中输入时cd .ssh
,它会返回-bash: cd: .ssh/: Permission denied
.现在我无法将 ssh 密钥添加到 ssh。
当我打字时,ssh-add ~/.ssh/idname
它说/Users/Dan/.ssh/idname: Permission denied
。
我认为这与我的打字有关,ls -d
因为它在我将其输入终端之前就起作用了?
答案1
由于您对某个目录的“权限被拒绝”,因此该目录很可能没有执行权限。同样,要遍历目录树以获取文件,您需要对根目录和文件之间的每个目录具有执行权限(因此其他命令也会出现相同的错误)。
尝试设置目录的执行权限
chmod u+xr,go-rwx ~/.ssh
然后看看是否可以再次运行这些语句。
答案2
除了 Arcege 的答案之外,您还可以使用
sudo su <enter password> cd .ssh
命令sudo
(没有其他用户名)允许您以超级用户(root)身份运行命令,前提是您是 sudo-er(您的用户名位于/etc/sudoers
正确的字段中)并知道该启用 sudo 的用户的密码。
警告:
如果您不知道自己在做什么,以超级用户身份操作可能会很危险。您可能会无意中修改或破坏重要文件。sudo
谨慎使用。