2013-09-22 13 views
22

Quindi sto setacciando internet per giorni cercando di capirlo e non riesco a capirlo.Come accedere al mio server linux SSH dall'esterno della mia rete domestica

So che sarà facile.

Quindi recentemente ho preso un vecchio desktop e caricato il server ubuntu 12.04 su di esso. Il mio obiettivo con questo progetto è creare un'area per ospitare alcuni repository git e magari una semplice pagina web.

Ho installato entrambi i pacchetti SSH e Apache2 e ho provato a configurarli. In questo momento posso accedere dal mio portatile usando ssh [email protected], ma solo mentre sono sulla stessa rete. Una volta uscito di casa ricevo un errore di timeout.

Quindi 2 cose che vorrei ottenere adesso.

  1. Come configurare l'SSH per consentirmi di accedere al server dall'esterno della rete.
  2. Scarica il mio nome host sul server in modo accessi saranno greg @ hostname invece di [email protected]

    (ho fatto sudo nome host e cambiato il file etc/hostname e nessun risultato)

Grazie ragazzi.

+0

È necessario aprire le porte 22 e 80 tramite il router (sebbene si consiglia di cambiare la porta che si sta utilizzando per SSH a qualcosa di non standard). Ottenere l'accesso dall'esterno sarà più semplice se imposti una voce DNS per questo. Entrambe queste cose sono fuori tema per SO.Prova a chiedere su [su] –

+0

offtopic qui, ma assicurati che il tuo server abbia delle porte accessibili (potrebbe essere bloccato da router/firewall/etc) quindi usa l'indirizzo IP esterno del tuo server, –

+0

Scusate ragazzi, l'ho ripubblicato su super user. grazie per il feedback – Greg

risposta

7

Il timeout esterno alla rete domestica si verifica perché l'IP specificato verrà indirizzato altrove su reti esterne.

Come altri hanno indicato, è necessario configurare il port forwarding sul router (interfaccia esterna) al server SSH. Puoi utilizzare la porta standard (22) o qualsiasi altra porta alternativa (qualcosa sopra 1024). Per il server web è necessario impostare il port forwarding dalla porta 80 sull'interfaccia esterna al server e, eventualmente, la porta 443 se si desidera includere le connessioni SSL/TLS.

Si consiglia inoltre di utilizzare il file di configurazione SSH (~/.ssh/config) per semplificare l'esecuzione di una connessione interna o esterna. Aggiungere qualcosa di simile:

Host serverext 
Hostname 1.2.3.4 
User greg 
Port 22 

Host serverint 
Hostname 192.168.1.10 
User greg 
Port 22 

Modificare il nome host per il config serverext all'indirizzo IP della connessione Internet. Se si utilizza una porta non standard per le connessioni SSH esterne, modificare il campo della porta per serverext per farlo corrispondere.

Modificare il nome host per il serverint config sull'indirizzo IP interno per quel server sulla rete.

Una volta configurato, insieme al port forwarding, sarà possibile utilizzare "ssh serverint" per connettersi al server quando si è a casa e "ssh serverext" per connettersi ad esso quando si è da qualche parte altro.

È possibile includere opzioni di configurazione avanzate tramite il file di configurazione SSH, ad esempio il tunneling delle porte e le connessioni Websocket. In passato ho fatto cose del genere e reindirizzare le connessioni SSH attraverso i server proxy SOCKS. Ho persino avuto a che fare con Tor, ma è molto lento.

+0

Ciao Ben, ho bloccato la situazione, c'è un computer dietro un router e non ho i diritti per configurare il router, ma ho un DDNS per questo e ho un server sotto il mio controllo. Quindi, come posso accedere al mio computer nella rete locale dall'esterno? Grazie molto! – Gizak

+0

Senza l'accesso al router non è possibile configurare il port forwarding su nessuno dei sistemi su tale rete. Queste cose sono spesso indicate come gateway per una ragione. – Ben

Problemi correlati