SSH: "As permissões 0644 para 'my_key.pub' estão muito abertas."

21

Por que 0644isto é -rw-r--r--muito aberto para uma chave SSH? Também não consegui encontrar nenhuma permissão falsa no .sshdiretório ( 0700) ou no diretório inicial ( 0731).

Btw eu estou recebendo esse erro ao testar a paráfrase de uma chave via ssh-keygen -y -f my_key.pub

Cumprimentos

user2820379
fonte

Respostas:

7

Você pode estar executando o ssh-keygen no arquivo errado. ssh-keygen -yopera em um arquivo de chave privada . Os arquivos ".pub" normalmente contêm a chave pública . Você provavelmente tem um arquivo com o nome my_key, sem qualquer extensão, e deve ser o modo 0600. Esse é o arquivo que deve conter a chave privada.

Para responder diretamente à sua pergunta, as chaves SSH são normalmente usadas para permitir a conexão com servidores remotos sem uma senha. A posse da chave privada permitirá que alguém faça login na sua conta em qualquer sistema que aceite a chave. O ssh-keygen e os outros utilitários ssh exigem que os arquivos de chave privada tenham permissões restritas porque os arquivos são sensíveis e precisam permanecer seguros.

Kenster
fonte
11

0644 não deve ser muito aberto para uma chave pública, mas é muito aberto para sua chave privada.

Sua chave privada deve ter permissão, 0600enquanto sua chave pública tem permissão 0644.

A propósito, você também deve cuidar da permissão na .sshpasta. Deve ter a permissão 0700, para que somente você, o proprietário, tenha controle sobre a pasta.

Quanto ao seu diretório pessoal, a permissão de gravação não deve ser concedida ao grupo e a outros.

Executar chmod go-w /home/usernamedeve corrigir isso.

pallxk
fonte
Absolutamente não siga estas instruções. NÃO é isso que você deve fazer. Isso também redefinirá todas as permissões do diretório inicial. Você SOMENTE deve modificar a .sshpasta e o id_rsapróprio arquivo, não todo o diretório pessoal!
niftylettuce
9

O único comando que você precisa executar é chmod 600 ~/.ssh/id_rsa. É isso aí.

Isso altera as permissões no arquivo para que o proprietário (você) possa lê-lo e gravá-lo, o que removerá a mensagem de erro recebida.

niftylettuce
fonte
Atualizado @TwistyImpersonator
niftylettuce 24/10
0

As respostas acima são válidas, mas antes de executar qualquer uma chmodpara corrigir permissões, verifique se os seus IdentityFilenomes se ~/.ssh/configreferem à sua chave privada. Os iniciantes podem entender isso .pubincorretamente e se referir à chave pública (com extensão), levando ao mesmo erro (já que as permissões de arquivo da chave pública são muito abertas para uma chave privada).

Javarome
fonte