Não sei se faz muito sentido essa pergunta, mas...
- É possível ter acesso remoto com outros níveis de permissões além de 400?
- Por exemplo, 700, 600 ou 500. Pois, nesses casos, ainda é só o dono que pode ler a chave.
Não sei se faz muito sentido essa pergunta, mas...
Olá amigo.
Sua pergunta é interessante mesmo!
Vamos lá!
Faz todo sentido . Sim: os modos 700, 600, 500 etc. existem e têm efeitos diferentes, mas o ponto chave para o SSH é quem consegue ler/alterar os ficheiros (grupo/outros não podem). Vou resumir o que importa na prática e dar recomendações.
Para ficheiros de chave privada, os bits de execução não fazem sentido (não é um binário), mas não prejudicam a segurança se apenas o dono tiver permissão. O que importa é grupo/outros não terem permissões.
~/.ssh/id_rsa
, id_ed25519
, etc.): o cliente SSH espera que apenas o dono consiga ler (ou ler+escrever). Modos 600 ou 400 são normalmente recomendados/aceitos.chmod 600 ~/.ssh/id_rsa
(recomendado)chmod 400 ~/.ssh/id_rsa
também funciona (mais restritivo)..ssh
no servidor/cliente: deve ser somente acessível ao dono : normalmente 700 (drwx------
).chmod 700 ~/.ssh
authorized_keys
no servidor (~/.ssh/authorized_keys
): deve ser acessível só ao dono : 600 é a recomendação.chmod 600 ~/.ssh/authorized_keys
sshd
pode recusar chaves; idealmente não deve permitir escrita para grupo/others.sshd
(servidor)?sshd
verifica permissões dos ficheiros quando StrictModes yes
(padrão). Se as permissões forem “inseguras” (por ex. grupo/outros com escrita/leitura) ele poderá recusar autenticação por chave.StrictModes no
) no sshd_config
, mas não é recomendado: abre risco de segurança.# no cliente (chave privada)
chmod 600 ~/.ssh/id_rsa # recomendado
# ou
chmod 400 ~/.ssh/id_rsa # também aceitável
# no servidor (diretório e authorized_keys)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
# garantir propriedade correta
chown -R usuario:usuario ~/.ssh
r-x
) dá permissão de execução ao ficheiro — desnecessário para chaves, não acrescenta segurança.rwx
) também inclui bit de execução; igualmente desnecessário mas não faz com que o SSH recuse desde que grupo/outros não tenham permissão.Sistemas de ficheiros remotos (NFS) ou com ACLs/SELinux podem introduzir comportamentos diferentes.
Aí convém verificar logs (/var/log/auth.log
ou journalctl -u sshd
) se algo falhar.
Se a autenticação falhar por causa de permissões, o log do sshd
normalmente explica (“Authentication refused: bad ownership or modes for file ...”).
Espero que tenha respondido sua pergunta senão comente ai.
Comente ai de qualquer jeito.
Bons estudos.