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-client
mas 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.