
Suponha que eu tenha um sistema remoto chamado "remotesystem" 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 faço SSH como "foouser" do meu sistema local para "sistema 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 do sistema remoto? Ou seja, e se eu quiser fazer 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 ser capaz de "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 da chave funcione neste 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.
Responder1
Sim, você pode fazer isso, exatamente como descreveu.
baruser@aqui ~$ ssh-add -l 4096 10:b3:fd:29:08:86:24:a6:da:0a:dd:c6:1e:b0:66:6a id_rsa (RSA) baruser@aqui ~$ ssh foouser@remotesystem mensagem motd, etc. foouser@sistema remoto ~$
Responder2
É um pouco aparte, mas.....
Se você sempre usa o mesmo nome de usuário para um servidor remoto, também pode achar útil adicionar um host à sua configuração ssh:
Host remotesystem
User baruser
Dessa forma, você não precisa se lembrar de especificar o nome de usuário ao fazer login e descarta isso quando tiver problemas com chaves no futuro.
Responder3
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 para a seção do usuário remoto authorized_keys
e ela funcionará.
Responder4
Com qualquer problema relacionado ao ssh, a primeira coisa a fazer é aumentar o detalhamento do cliente:
ssh usuário@máquina -vvv
Se isso não fornecer informações sobre o que está errado, será necessário alterar o nível de log no servidor e reiniciar o daemon.
Nível de registro DEBUG3
Você deve encontrar a saída de depuração em /var/log/auth.log (ou onde quer que o ssh esteja configurado para efetuar login). Depois de encontrar o problema, lembre-se de redefini-lo como você o encontrou.