inoltrare la port 3306 dalla macchina firewall al desktop utilizzando SSH?

Ecco la configuration della networking:

Macchina A (il mio PC) SSH 22 => Macchina B (linea con accesso radice) SSH 21343 => Macchina C (server MySQL).

Voglio inoltrare la port 3306 da C a B a A, quindi posso utilizzare SQL Workbench su A per eseguire i comandi su C.

Si noti che C è accessibile solo tramite la port SSH 21343 e solo da B (non è ansible modificare il firewall su C per aprire altre porte, ma possiamo modificare le impostazioni SSH).

È ansible? Ho letto circa tunnel e ProxyCommand. Ma ho bisogno di un semplice esempio passo dopo passo.

Tutte le macchine sono debian Lenny.

  • Come limitare l'authorization del tunnel ssh a una certa port?
  • Proxy di base con OpenSSH, Cygwin, Putty
  • windows vnc tramite ssh to kvm guest - connessione non rioutput
  • Proxy SMB: connettere al server SMB tramite tunnel SSH tra due altri host
  • Tunnel temporaneo SSH per scopi di backup
  • Impedire l'accesso dell'utente alla console, ma permettere comunque l'accesso svn + ssh: // al repos SVN
  • Ho bisogno di una soluzione proxy inversa per SSH
  • Inoltra la port 3306 su Mac OS X per connettersi a un database MySQL remoto
  • 3 Solutions collect form web for “inoltrare la port 3306 dalla macchina firewall al desktop utilizzando SSH?”

    Sulla macchina A:

     ssh -L 3307:C:3306 user@B 

    Questo assegnato un socket ascoltare la port 3307 su A. E each volta che viene effettuata una connessione a questa port, viene inoltrata sul tunnel di ssh a C: 3306.

    È quindi ansible connettersi al server MySQL su C con:

     mysql -u <user> -p -h 127.0.0.1 -P 3307 

    (127.0.0.1 per connettersi tramite TCP / IP invece di una socket)


    No, non posso connettere a MySQL su C da B. Solo l'ascolto SSH su 21343 è aperto a B.

    Se il firewall su C consente solo di connettersi da localhost, qualcosa di simile:

     iptables -A INPUT -p tcp -s 127.0.0.1 --dport 3306 -j ACCEPT iptables -A INPUT -p tcp --dport 3306 -j DROP 

    quindi, AFAIK, non c'è modo di farlo. Se si tenta di connettersi sopra il tunnel ssh, avrai gli errori di seguito riportti:

     ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 

    ~ / .ssh / config sulla macchina A ha un aspetto simile:

     Host C ProxyCommand ssh -q B nc %h %p LocalForward 3306 localhost:3306 Port 21343 Host B Hostname XXXX (ip of host B) 

    Poi su A ssh C

    e in un altro terminal su A eseguire mysql -h localhost Questo ti connetterà a mysql su C sopra la port ssh in avanti.

    Si potrebbe considerare qualcosa sulla linea di http://sourceforge.net/projects/portfwd/ sulla macchina B, forse ascoltando qualcosa di diverso da TCP 22 in modo che SSH possa rimanere sulla sua port standard per la macchina B.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.