Você também deve definir as permissões corretas para a pasta .ssh e authorized_keys: chmod 700 ~ / .ssh & & chmod 600 ~ / .ssh / authorized_keys Além disso, o proprietário desses arquivos deve ser o mesmo que o usuário que está tentando fazer login.
Parece que perguntas semelhantes foram feitas antes, mas a questão que estou tendo não foi levantada ou respondida como parte das respostas dadas às outras perguntas. Então ...
Estou usando uma instância do Amazon EC2 que está executando o Ubuntu e já descobri como obter acesso SSH com o PuTTY com o login "ubuntu". Imaginei que poderia simplesmente fazer alguns useradds e, em cada uma das pastas iniciais dos outros usuários, adicionar ".ssh / authorized_keys" como era na pasta inicial do "ubuntu" e, em seguida, usar o SSH nos outros nomes de usuário (mas a mesma chave privada) funcionaria sem problemas - isso não aconteceu (recebi a mensagem "Servidor recusou nossa chave").
Parece haver algo que desconheço sobre como o emparelhamento de chaves SSH funciona ... alguma idéia?
Resumo rápido:
UPDATE: Eu editei o arquivo '/ etc / ssh / sshd_config' para remover o comentário da linha:
AuthorizedKeysFile %h/.ssh/authorized_keys
(que eu não percebi foi comentado por padrão), mas ainda sem sorte. Apenas pensei em mencioná-lo se isso fosse uma sugestão ...
UPDATE2-IMPORTANTE: Graças à resposta de Nikolay, percebi que tinha ignorado as permissões do arquivo. Embora as permissões não fossem exatamente o problema (eu acho), acontece que quando eu usei sudo para copiar '.ssh / authorized_keys' para as outras pastas de usuários adicionadas, o proprietário da pasta recém-criada e o arquivo era, na verdade, root . A questão parece ser agora - como posso alterar o proprietário da pasta / arquivo (como um usuário não-root provavelmente não seria capaz de verificar uma chave que pertence a root )? Eu vou fazer uma pesquisa para ver se isso surge com a resposta ...
UPDATE3-IMPORTANTE: alterei a permissão para '.ssh' e 'authorized_keys', bem como para o proprietário e o grupo de raiz para otheruser , mas ao usar o nome de usuário otheruser ao tentar SSH, ainda recebo a mensagem "Server refused our key". Desculpe eu adicionei prematuramente a seção respondida ... a resposta fornecida parecia (e ainda parece) a resposta correta, logicamente falando, então eu disse que foi respondida antes de eu testar ...
UPDATE4-IMPORTANTE: A resposta de Nickolay é de fato correta (o que eu disse que não estava no UPDATE3). Meu problema (depois que eu segui a resposta de Nickolay) não estava realmente relacionado a quaisquer ressalvas de SSH. Quando criei a conta otheruser , acidentalmente especifiquei o shell como /bin/bash/
em vez de /bin/bash
(observe o extra / ). Eu me deparei com isso porque todo o trabalho que eu fiz foi da conta "ubuntu", e depois de ficar frustrado eu tentei logar em outro usuário após o SSHing com o Ubuntu - que retornou o erro "Não é possível executar / bin / bash /: diretório". Depois de alterar o shell com chsh -s /bin/bash otheruser
, consegui fazer login no otheruser do Ubuntu, mas o mais interessante isso me permitiu usar o SSH otheruser como o usuário sem receber a mensagem "Server refused our key" . Então ... a incapacidade de instanciar um shell para usar de alguma forma retornou como uma mensagem de chave recusada. Há algum lugar que eu deveria talvez chamar a atenção para isso ...? De qualquer forma, obrigado novamente ao Nickolay.
RESPONDIDO: A resposta de Nickolay cobre o que precisa ser feito nessa situação, incluindo o uso do comando chown
para alterar a propriedade da pasta / arquivo, como é mencionado, desde link sob sua resposta. (Eu também usei o comando chgrp
porque o grupo também era root)
Aqui estão os passos que eu usei (você pode ter que começar esses comandos com sudo
):
NOTA: Os dois últimos comandos são para alterar o grupo ao qual a pasta '.ssh /' e o arquivo 'authorized_keys' estão associados. Você pode querer que eles sejam outra coisa, mas eu queria mantê-los consistentes com os outros arquivos / pastas na pasta base do usuário.
Você também deve definir as permissões corretas para a pasta .ssh e authorized_keys: chmod 700 ~ / .ssh & & chmod 600 ~ / .ssh / authorized_keys Além disso, o proprietário desses arquivos deve ser o mesmo que o usuário que está tentando fazer login.