Não consigo fazer ssh para minha instância do Amazon AWS Ubuntu usando um usuário recém-criado e um par de chaves?

Não consigo fazer ssh para minha instância do Amazon AWS Ubuntu usando um usuário recém-criado e um par de chaves?

Criei um usuário chamado graderpara minha instância e dei permissão sudo, além de alterar a senha /etc/ssh/sshd_configpara desativá-la.

Gerei um par de chaves em minha máquina local e adicionei a chave pública à instância. Quando tento acessar a instância usando o usuário DEFAULT fornecido pelo Amazon AWS e minhas chaves geradas ele funciona

ssh -i "udacityLinux" [email protected]

mas quando tento fazer o mesmo usando o graderusuário, recebo este erro:

ssh -i "udacityLinux" [email protected]
[email protected]: Permission denied (publickey).

Como posso corrigir isso para poder fazer login usando meu graderusuário?

Responder1

Você parece ter um mal-entendido sobre a chave pública que carrega no servidor.

Esta chave deve ser armazenada no arquivo ~/.ssh/authorized_keyspara cada usuário que deve ser identificado por esta chave.

Este caminho ~/.ssh/authorized_keysé equivalente ao seu diretório de usuário atual, se você estiver logado como graderusuário, esse caminho apontará para:

/home/grader/.ssh/authorized_keys

Caso você esteja logado como ubuntuusuário, esse caminho apontará para:

/home/ubuntu/.ssh/authorized_keys

Então, por enquanto, você pode copiar o arquivo-chave com:

sudo cp /home/ubuntu/.ssh/authorized_keys /home/grader/.ssh/

Em seguida, defina o proprietário e as permissões corretos:

sudo chown grader:grader /home/grader/.ssh/authorized_keys
sudo chmod 0600 /home/grader/.ssh/authorized_keys

Lembre-se de que agora você aceita todas as chaves que possa ter habilitado para o usuário ubuntutambém grader.

informação relacionada