-bash: cd: .ssh /: permissão negada

13

Quando digito o cd .sshterminal, ele retorna com -bash: cd: .ssh/: Permission denied. Agora não consigo adicionar minhas chaves ssh ao ssh.

Quando digito ssh-add ~/.ssh/idname, diz /Users/Dan/.ssh/idname: Permission denied.

Eu acho que tem a ver comigo digitando ls -dporque funcionou antes de eu digitar isso no terminal?

Daniel
fonte
Qual é a saída de id;ls -ld ~/.ssh?
Michas

Respostas:

24

Como você tem "Permissão negada" em um diretório, é provável que o diretório não tenha permissões de execução. Da mesma forma, para percorrer uma árvore de diretórios para acessar um arquivo, você precisaria executar permissões em cada diretório entre a raiz e o arquivo (daí o mesmo erro para o outro comando).

Tente definir as permissões de execução no diretório

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

Então veja se você pode executar essas instruções novamente.

Arcege
fonte
Um comando tão fácil e elegante. Trabalhou imediatamente no meu Mac!
IgorGanapolsky
uma desvantagem chmod u+xr,go-rwxé como o usuário precisa confirmar quais configurações precisam ser adicionadas ou subtraídas previamente. por outro lado, é mais abrangente do que usar um código numérico, por exemplo chmod 1755.
noobninja
1

Além da resposta do Arcege, você também pode usar
sudo su <enter password> cd .ssh
O sudocomando (sem outro nome de usuário) permite executar comandos como superusuário (root), desde que você seja um sudoer (seu nome de usuário está nos /etc/sudoerscampos corretos) e saiba a senha para esse usuário habilitado para sudo.

Aviso:
Operar como superusuário pode ser perigoso se você não souber o que está fazendo. Você pode, inadvertidamente, modificar ou destruir arquivos essenciais. Use sudocom cuidado.

skamazin
fonte
Sim, isso funcionou quando chmodnão faria o truque.
Pro Q