Usando um banco de dados por meio de um túnel SSH em um ambiente Rails

Se quiser usar sua máquina local para inspecionar um banco de dados remoto por SSH, você pode adicioná-lo como um ambiente em trilhos para permitir que você execute seu aplicativo localmente fora do banco de dados remoto (e faça rails console):

config/environments/remote.rb:

import 'net/ssh/gateway'
module RemoteConnectionManager
SSH_USER
= 'myuser'

def self.port_through_tunnel(remote_host, port)
return Net::SSH:Gateway.new(remote_host, SSH_USER)
.open(port)
end
end

database.yml:

production: &prod
host
: 'prod.mysite.com'
port
: 5432
...
remote
:
<<: *prod
host
: 127.0.0.1
port
: <%= RemoteConnectionManager.port_through_tunnel('prod.mysite.com', 5432) %>