Suponha que eu tenha um sistema remoto chamado "sistema de controle remoto" e uma conta de usuário "foouser" nesse sistema.
Eu sei que no meu sistema local, posso gerar um par de chaves SSH como usuário local "foouser", colocar a chave pública no arquivo "/home/foouser/.ssh/authorized_keys" em "remotesystem". Quando eu SSH como "foouser" do meu sistema local para o "sistema de controle remoto", o SSH usa o par de chaves para me autenticar.
Mas e se meu nome de usuário local não for igual ao nome de usuário no sistema remoto? Ou seja, e se eu quiser fazer o SSH como usuário local "baruser" para "remotesystem"? Obviamente, precisarei gerar um par de chaves para "baruser" e adicionar a chave pública a "/home/foouser/.ssh/authorized_keys". Então, eu deveria poder "ssh foouser @ remotesystem" enquanto estiver logado como "baruser" localmente, e o SSH usará o par de chaves para autenticar, certo?
Estou perguntando, porque estou tentando fazer com que a autenticação de chave funcione nesse cenário, sem sucesso. Não tenho certeza se é devido à incompatibilidade de nome de usuário ou a um problema de configuração com o servidor SSH no sistema remoto.
fonte
Respostas:
Sim, você pode fazer isso, assim como o descreveu.
fonte
É um pouco de lado, mas ...
Se você está sempre usando o mesmo nome de usuário para um servidor remoto, também pode ser útil adicionar um host à sua configuração ssh:
Dessa forma, você não precisa se lembrar de especificar o nome de usuário ao efetuar login e excluir isso quando tiver problemas com chaves no futuro.
fonte
Seu nome de usuário local realmente não importa (além da chave privada ter que residir no diretório inicial do usuário local). Basta copiar a chave na
authorized_keys
seção do usuário remoto e ele funcionará.fonte
Com qualquer problema relacionado ao ssh, a primeira coisa a fazer é aumentar a verbosidade do cliente:
Se isso falhar em fornecer informações sobre o que está errado, você precisará alterar o nível de log no servidor e reiniciar o daemon.
Você deve encontrar a saída de depuração em /var/log/auth.log (ou onde o ssh estiver configurado para efetuar logon). Depois de encontrar o problema, lembre-se de configurá-lo novamente como o encontrou.
fonte
As permissões nos diretórios .ssh em ambas as máquinas devem estar corretas. Geralmente, isso significa 700 no diretório .ssh e no máximo 755 no diretório inicial. Além de 600 em todos os arquivos nos diretórios .ssh.
Se o usuário no sistema remoto for root, verifique se o root pode ssh. (PermitRootLogin em sshd_config) e essa chave pública (PubkeyAuthentication) e, se necessário, o RSA (RSAAuthentication) estão ativados.
fonte
Se você tiver o SE Linux ativado, também precisará fazer o seguinte.
Adicione o rótulo SELinux para
authorized_keys
que ele possa ser acessado pelo sshd.fonte
Parece que você está fazendo as coisas corretamente, mas certifique-se de que as permissões estejam corretas em allowed_keys. Eles devem ser configurados para 600.
fonte