GNU/Linux >> Linux Esercitazione >  >> Linux

ssh attraverso un router senza port forwarding

Quello che vorresti fare è ssh DAL tuo "server linux" A qualcosa all'esterno, come "my_other_server" o qualcos'altro a cui entrambi i server possono accedere.

Useresti il ​​port forwarding remoto ssh.
[[email protected]_server]$ ssh -R8022:localhost:22 my_other_server.com
Spiegazione:connettiti a my_other_server e apri lì la porta 8022 che mi reindirizzerà sulla porta 22.

Da my_other_server.com sarai in grado di ssh a localhost sulla porta 8022 e il tuo traffico sarà inoltrato a linux_server piggybacking sul tunnel linux_server -> my_other_server[[email protected]_server]$ ssh -p8022 localhost
Spiegazione:Connettiti a me stesso sulla porta 8022 che viene inoltrata a linux_server

Se hai problemi con l'abbandono del tunnel linux_server -> my_other_server iniziale, puoi creare uno script per tenerlo aperto, regolare le impostazioni keepalive o utilizzare autossh.


Questa risposta si basa su quella accettata, ma aggiungendo i dettagli che mi hanno permesso di farlo. Mi scuso per la spiegazione banale, poiché non è affatto di mia competenza.

Supponi di avere due computer, A e B . Vuoi ssh da A a B e non puoi eseguire alcun port forwarding nei router ad essi collegati.

Come afferma la risposta accettata, è necessario un server S per fare ciò:nel computer B , consentirai ssh connessioni provenienti da S; e dal computer A , accederai a quel tunnel a S per raggiungere B .

Ma come si ottiene quel server S ? Ho trovato serveo (collegamento:https://serveo.net/). È di uso molto semplice. Non devi installare nulla o registrarti ed è gratuito. Secondo il sito Web, i passaggi da seguire sono:

  1. Pensa a un alias per il computer B . Ad esempio, computer_B_alias .

  2. Nel computer B , esegui ssh -R computer_B_alias:22:localhost:22 serveo.net .

  3. Ora puoi accedere al computer B dal computer A eseguendo quanto segue nel computer A :ssh -J serveo.net [email protected]_B_alias , dove devi sostituire user dal nome dell'utente nel computer B .

P.S.:Ovviamente, rendi il punto 2 un compito automatico all'avvio del tuo computer B .

P.S.S.:prima di provare, assicurati che ssh è installato in entrambi i computer. Per Ubuntu, sudo apt-get install ssh farebbe il lavoro.


Puoi utilizzare una sorta di VPN per farlo funzionare, ma richiederebbe di disporre di un server a cui possa accedere il server inaccessibile. Quindi puoi configurare OpenVPN sul server, sul tuo PC e sul server protetto da firewall, abilitare client-to-client , e hai finito. http://openvpn.net/howto.html


Linux
  1. Come configurare il tunneling SSH

  2. Ssh port forwarding google compute engine

  3. SSH senza sourcing .bashrc

  4. Tunnel SSH HTTPS

  5. Come abilitare l'inoltro SSH X11 tramite un server aggiuntivo?

Come modificare la porta SSH su VPS

Come configurare il port forwarding dinamico SSH su Linux

Utilizzo di SSH Port Forwarding come strumento di sicurezza in Linux

Come modificare la porta SSH in CentOS

Come modificare la porta SSH su Centos 7.x?

Come cambiare la porta SSH su Ubuntu?