J'accède à une base de données distante à l'aide d'un transfert de port local vers distant depuis ma boîte de dialogue Windows. Cela fonctionne comme un charme en utilisant putty pour la redirection de port, mais il échoue lorsque j'essaie de transmettre en utilisant Ruby/Net :: SSH. Voici mon extrait de code:Réacheminement de port local vers distant à l'aide de Ruby/Net :: SSH pour une connexion à distance db
require 'rubygems'
require 'net/ssh'
Net::SSH.start(remote_host, user_name, :password => password) do |ssh|
ssh.logger.sev_threshold=Logger::Severity::DEBUG
ssh.forward.local(5555, 'www.google.com', 80) # works perfectly
ssh.forward.local(4444, remote_host, 1234) # db connection hangs up
ssh.loop { true }
end
Le port redirigé vers google.com fonctionne correctement lorsqu'il est testé avec un navigateur. Le port forward vers mon serveur Linux, où mon serveur db écoute sur le port 1234, ne fonctionne pas. Lorsque j'essaie de me connecter à localhasot: 4444 la connexion raccroche. Journaux:
DEBUG -- net.ssh.service.forward[24be0d4]: received connection on 127.0.0.1:4444
DEBUG -- tcpsocket[253ba08]: queueing packet nr 6 type 90 len 76
DEBUG -- tcpsocket[24bde64]: read 8 bytes
DEBUG -- tcpsocket[253ba08]: sent 100 bytes
DEBUG -- net.ssh.connection.channel[24bdcc0]: read 8 bytes from client, sending over local forwarded connection
Et puis rien!
J'utilise net-ssh 2.0.22/ruby 1.8.7
Essayez de commenter l'avant de google et faites-en un en avant. Est ce que ça aide? – barrycarter
Malheureusement, cela ne fonctionne pas. – nakhli