Permissões de chave SSH Configurações de Chmod?

63

Preciso usar o SSH em minha máquina para acessar meu site e seus bancos de dados (configurar um link simbólico, mas discordo).

Problema a seguir: insiro o comando: ssh-keygen -t dsa
Para gerar o par de chaves dsa público / privado. Salve-o no padrão ( /home/user/.ssh/id_dsa): e insira a senha Digite duas vezes

então eu recebo de volta:

AVISO: ARQUIVO CHAVE PRIVADO NÃO PROTEGIDO!
As permissões 0755 para '/home/etc.ssh/id_rsa' estão muito abertas. É recomendável que seus arquivos de chave privada NÃO sejam acessíveis por terceiros. Essa chave privada será ignorada. permissões incorretas: ignore a chave: [então o CAMINHO DO ARQUIVO em VAR / LIB / EM ALGUM LUGAR]

Agora, para contornar isso, tentei

sudo chmod 600 ~/.ssh/id_rsa         sudo chmod 600 ~/.ssh/id_rsa.pub    

Mas, logo após o meu computador congelar, e ao voltar a conectar, havia um could not find .ICEauthority error. Eu resolvi esse problema e excluí os arquivos SSH, mas quero poder usar as permissões corretas para evitar esses problemas no futuro. Como devo configurar o ICEauthority ou onde devo salvar as chaves SSH ou que permissões devem ter? Seria melhor usar uma máquina virtual?

Tudo isso é muito novo e estou em uma curva de aprendizado muito íngreme, então qualquer ajuda é apreciada.

crissixpaul
fonte
erro de digitação, apenas um conjunto de chaves foi gerado!
precisa saber é o seguinte
permissões para .ssh dir são igualmente importantes como permissões de chave. Deve ser 600. Para corrigi-lo correr: chmod -R 600 ~/.ssh.
KWubbufetowicz
4
na verdade, as permissões do diretório .ssh precisam ser 700 e não 600. A permissão de execução é a que fornece acesso ao que está dentro desse diretório. Portanto, os comandos corretos devem ser chmod 700 $HOME/.sshechmod 600 $HOME/.ssh/id_rsa
MelBurslan
O erro sobre .ICEauthority não está relacionado aos chmodcomandos que você mostra. Ou é uma coincidência ou você executou outros comandos que não está nos mostrando.
Gilles 'SO- stop be evil'

Respostas:

92

chmod 600 ~/.ssh/id_rsa; chmod 600 ~/.ssh/id_rsa.pub(ie chmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub) estão corretos.

chmod 644 ~/.ssh/id_rsa.pub(ie chmod a=r,u+w ~/.ssh/id_rsa.pub) também estaria correto, mas chmod 644 ~/.ssh/id_rsa(ie chmod a=r,u+w ~/.ssh/id_rsa) não estaria. Sua chave pública pode ser pública, o que importa é que sua chave privada é privada.

Além disso, seu .sshpróprio diretório deve ser gravável somente por você: chmod 700 ~/.sshou chmod u=rwx,go= ~/.ssh. Obviamente, você precisa ser capaz de ler e acessar os arquivos (permissão de execução). Não é diretamente prejudicial se outros puderem lê-lo, mas também não é útil.

Você não precisa sudo. Não use sudopara manipular seus próprios arquivos, pois isso só pode levar a erros.

O erro sobre .ICEauthoritynão está relacionado aos chmodcomandos que você mostra. Ou é uma coincidência ou você executou outros comandos que não está nos mostrando.

Gilles 'SO- parar de ser mau'
fonte
Quais são as permissões no ~ / .ssh / known_hosts?
Nikc
0

Quero adicionar às respostas acima que, para mim, meu diretório pessoal ( ~/) também precisava ter as permissões 755, independentemente das permissões ~/.sshe dos arquivos nele contidos. (Este foi em um Synology NAS, pode não se aplicar a todos os linuxes)

hoelk
fonte