Estou tentando usar o DBeaver para conectar a um servidor de banco de dados PostgreSQL por meio de SSH:
can't initialize tunnel
cannot establish tunnel
com.jcraft.jsch.JSchException: auth fail
Tenho certeza de que o servidor SSH está funcionando bem. Consigo me conectar ao mesmo servidor de banco de dados PostgreSQL através do mesmo servidor SSH com pgAdmin 3 e RazorSQL. Eu verifiquei o IP, nome de usuário e senha, eles estão corretos. Desativei todos os firewalls. Qual poderia ser o problema?
Minhas configurações:
Eu uso a versão portátil do DBeaver 3.7.3 x64 com o Windows 7 SP1 x64 Ultimate.
A janela de log de erros não registra o erro, então não tenho mais informações lá.
Eu tentei o DBweaver no Kubuntu e tive o mesmo problema. Parece que o problema está no fato de que a autenticidade do servidor SSH não foi verificada anteriormente, e o DBweaver é incapaz de cascatear a mensagem de erro correta (por exemplo,
Host key verification failed.
) e, em vez disso, culpa enganosamente algum erro de autenticação.Corrigi o problema no Kubuntu da seguinte forma:
Executar no shell
sudo apt-get install -y autossh
Adicione o comando shell em sua conexão no DBeaver:
Nesse ponto, se você tentar se conectar, terá a mesma
com.jcraft.jsch.JSchException: auth fail
mensagem de erro. Acesse o shell e execute o comando:ele irá produzir:
Volte para o DBeaver, tente conectar, isso deve funcionar. Ainda não sei por que devo usar
autossh
em vez da guia do túnel SSH no DBeaver.