Criei um usuário chamado grader
para minha instância e dei permissão sudo, além de alterar a senha /etc/ssh/sshd_config
para 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 grader
usuário, recebo este erro:
ssh -i "udacityLinux" [email protected]
[email protected]: Permission denied (publickey).
Como posso corrigir isso para poder fazer login usando meu grader
usuá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_keys
para 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 grader
usuário, esse caminho apontará para:
/home/grader/.ssh/authorized_keys
Caso você esteja logado como ubuntu
usuá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 ubuntu
também grader
.