ssh 経由でリモート サーバーへのトンネルを確立し、転送されたポートを使用して MySQL にアクセスしようとしています。
現在はこんな感じで使っています
$gateway = Net::SSH::Gateway.new('target.server', 'user')
def with_gateway
$gateway.open("target.server", 3306) do |port|
yield port
end
end
私の考えでは、これに似ているものはどれですか...
`ssh -L #{port}:localhost:3306 -N user@target.server`
それから私がそれを使用しようとすると、このようなことをします。
with_gateway do |port|
puts `mysql -u user -ppass -h 127.0.0.1 -P #{port} -e SHOW\ DATABASES\;`
end
このエラーメッセージが表示されます..
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
私は何が欠けていますか?