Por que o login SSH funciona no shell, mas falha em todos os terceiros via túnel ssh?

3

Estou usando ssh para efetuar login (solicitar a senha pela primeira vez) em um servidor remoto.

No shell, usando este comando:

ssh [email protected]

funciona bem! Mas todos os outros aplicativos de software db que eu testei (Dbeaver e Redis Desktop Manager) falham quando tento usar o SSH Tunnel. Selecionei minha chave privada em /home/myuser/.ssh/id_dsa .

Exemplo no Redis Desktop Manager:

ExemplonoDbeaver:

Se eu definir o túnel:

ssh [email protected] -L 6379:127.0.0.1:6379 -N

Eu posso conectar a 127.0.0.1:6379, ou seja, o túnel está funcionando. Por que, por meio de terceiros, isso não está funcionando?

No servidor remoto está rodando o CentOS 6 e no meu desktop Ubuntu 14.

    
por Diogo Alves 28.04.2015 / 22:32

1 resposta

1

Você disse, nos comentários,

After restarting my computer, when trying to login via ssh again, I was asked the password to unlock the id_dsa file

Há pelo menos parte da resposta. Suas outras ferramentas não têm capacidade de desbloquear uma chave privada e não têm capacidade de falar com ssh-agent para autenticá-las em seu nome. Você precisa remover a senha do certificado privado.

A sintaxe é:

ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

E, como você observou em seu comentário, a aplicação prática disso é:

ssh-keygen -p -f ~/.ssh/id_dsa

A próxima parte do problema é que algumas bibliotecas de terceiros para Java e .NET só lidam com chaves RSA ssh - e (na minha experiência) apenas até um tamanho de chave. DSA e ECDSA não são opções.

Se você não tiver ~/.ssh/id_rsa , precisará criá-lo e copiar a parte pública para o host remoto:

ssh-keygen -t rsa
ssh remoteuser@remotehost 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

Outra parte do problema pode ser que a chave privada esteja no formato "errado" e precisa de conversão . De uma breve leitura da documentação do Redis Desktop Manager, não acredito que seja esse o caso, mas valeria a pena checar duas vezes. ATUALIZAÇÃO: parece que o JSCH - Chave privada inválida confirma que a chave deve estar no formato OpenSSH - que é o que aparece já estão usando.

    
por 30.04.2015 / 23:41