Confuso com ssh - Permissão negada (chave pública)

Confuso com ssh - Permissão negada (chave pública)

Como configuro corretamente o open-ssh no Debian. Eu tinha tudo funcionando - fazendo login usando uma chave de autenticação (PasswordAuthentication definida como não) e de repente recebo umaPermissão negada (chave pública). Então desinstalei o ssh no servidor e no cliente remoto. Então me meti em uma confusão - a reinstalação falhou ao configurar os diretórios .ssh na raiz ou no nível do usuário.

História:

Instalei o open-ssh no meu servidor - como root Instalei o open-ssh no meu pc cliente remoto - como root

Gerei minha chave pública e privada no meu servidor - como root.
Gerei minha chave pública e privada no meu PC remoto - como root

Criei um arquivo de chave autorizado no diretório .ssh do meu servidor - como usuário - e copiei a chave pública do meu PC remoto

Modifiquei meu arquivo de configuração ssh para não permitir login com senha

Minhas perguntas:

Você deve sempre instalar o open-ssh como root?

Em caso afirmativo, isso se propaga para todos os usuários, dando-lhes permissão para aceitar uma conexão ssh?

Você cria o arquivo de chave autorizado como root ou no nível do usuário?

Desinstalei tudo*, apt-get purge openssh-clientmas deixou diretórios .ssh por todo lado. Essa é uma prática comum no Linux e posso excluir manualmente esses diretórios restantes?

Saúde

Responder1

Parece que faltam alguns elementos em sua compreensão -

Praticamente você precisa instalar o open ssh como root - por padrão ele fala na porta 22 que é restrita ao root. Você provavelmente poderia configurá-lo para responder em uma porta não padrão acima de 1024 (normalmente 2222).

ssh não "propaga" - ele é executado como um daemon. No entanto, normalmente procurará nos diretórios iniciais dos usuários por ~user/.ssh/authorized_keys

Normalmente, você criaria um arquivoauthorized_keys para cada usuário no sistema. Observe que o servidor SSH também possui suas próprias chaves, que geralmente podem ser encontradas em /etc/sshd

Se não houver nada, exceto coisas SSH, você não precisa que seja seguro excluir manualmente as chaves .ssh nos diretórios iniciais. Também não há problema em deixá-los, porque o cliente e o servidor são duas coisas diferentes, mas ambos usam o mesmo diretório em alguns casos.

Manuseio de chaves -

Geralmente, você criaria uma chave privada e pública em seu cliente e, em seguida, adicionaria a chave pública ao seu servidor em ~user/.ssh/authorized_keys - Você não precisa gerar uma chave privada ou pública no servidor para o usuário - a menos que você além disso, deseja que o usuário use o servidor como um cliente ssh.

As chaves geralmente seriam de propriedade do usuário ao qual pertencem, e as chaves privadas teriam uma permissão de 600. Você também pode ter as chaves de propriedade do root, mas isso impedirá que o usuário as altere.

informação relacionada