
Criamos uma microinstância AWS executando o Ubuntu 10.04 e podemos entrar como usuário "ubuntu" usando o par de chaves perfeitamente. Agora criei dois novos usuários, mas quando tento inserir a instância usando seus nomes de usuário, recebo "O servidor recusou nossa chave".
O que está acontecendo? O par de chaves está vinculado ao usuário do Ubuntu? Além disso, precisamos criar um par de chaves para esses usuários ou eles podem fazer login usando uma senha? Ou precisamos sempre colocar como "ubuntu" e depois "su - meu nome de usuário"? Ou estou apenas sentindo falta de algo simples?
Responder1
Sim, o par de chaves está vinculado ao usuário do Ubuntu. Depois de criar os novos usuários, você precisará colocar a chave que deseja usar $HOME/.ssh/authorized_keys
. É um pouco complicado, pois você também precisa ter certeza de que $HOME/.ssh tem permissões seguras
chmod 0700 $HOME/.ssh
e que o arquivoauthorized_keys também tenha permissões seguras
chmod 0600 $HOME/.ssh/authorized_keys
Um truque é apenas copiar o arquivo de chave do usuário do Ubuntu para os novos usuários se você quiser usar a mesma chave.
sudo cp -arf /home/ubuntu/.ssh /home/myuser/.ssh
chown -R myuser.myuser /home/myuser/.ssh
Se você configurar uma senha para esses novos usuários (na verdade não é recomendado... ataques de força bruta de senha de servidores SSH são excessivos na Internet), você também pode fazer isso em sua máquina cliente:
ssh-copy-id user@host
Que cuidará de todas as permissões para você. Além disso, se você armazenar sua chave em sua conta Launchpad.net, poderá fazer
ssh-import-id your-launchpad-user
E ele extrairá sua chave da barra de ativação (este comando foi renomeado para ssh-import-id na versão 11.04 e posterior).