Você quer que a pasta chave e a própria chave só possam ser lidas pelo usuário. Eu sempre faço chmod 700 ~/.ssh; chmod 600 ~/.ssh/*
, onde você obviamente deseja alterar esses diretórios para se adequar ao seu próprio caso de uso.
Gerei chaves e as aprovou para acesso à minha equipe de TI corporativa. No entanto, eu preciso adicioná-los ao meu terminal toda vez que eu iniciar minha máquina (o script que eu tenho dado para contornar isso não está funcionando para mim ainda). Então, por enquanto, tenho que emitir ssh-add ~/.ssh/keyfolder/private_key
toda vez que eu iniciar minha máquina.
Hoje, no entanto, comecei a receber esse erro:
~/.ssh/keyfolder/private_key: Permission denied
Eu tentei lançar um chmod 777 nessa chave privada, mas sem sorte.
O que eu fiz / estou fazendo errado?
$sudo ls -lha ~/.ssh/keyfolder/private_key
-rwxrwxrwx 1 rabdelaz staff 1.7K 2013-07-29 10:19 /home/rabdelaz/.ssh/keyfolder/private_key
RESPOSTA: Eu precisava dos níveis de permissão corretos nos lugares certos (obviamente).
então o que eu fiz foi definir o "keyfolder" e digitar a si mesmo para 600.
não tenho certeza de quais eram as permsions antes ...
Nunca faça um chmod 777
na sua chave privada! Isso torna (possivelmente) publicamente legível, e você não quer isso. Além disso, o SSH, em alguns casos, até se recusará a usar um arquivo com permissões muito permissivas, então você pode estar atirando no próprio pé com isso.
Se as permissões do arquivo não forem o problema, pode haver várias outras causas. Você pode ter permissões incorretas configuradas em qualquer um dos diretórios ~/.ssh
ou ~/.ssh/keyfolder
(tecnicamente também em ~
, mas este não seria o único sintoma). Use ls -adl
para inspecionar esses diretórios. Eles devem ter rwx
para você, mas ---
para o grupo e o mundo.
Outro problema pode ser (mas isso é bastante raro) é que o binário ssh-add
tem o setuid
bit definido, fazendo com que ele seja executado como um usuário diferente e, portanto, não tenha o direito de ler sua chave privada. Use ls -lh $(which ssh-add)
para inspecionar isso.
A primeira coisa a fazer nessa situação é usar a opção -v
para ssh (adicionando verbose), para que você possa examinar quais tipos de métodos de autenticação estão sendo testados e qual é o resultado. Isso pode fornecer uma informação sutil das possíveis coisas erradas que possam estar acontecendo. Então você olha para a resposta dada pela Sybren
Tags ssh permissions linux