Come accedere in modo sicuro a una macchina a casa tramite Internet


8

Viaggerò a breve e ho una macchina che esegue un certo numero di cron job ecc. Ho bisogno di accedere in remoto per verificare i risultati dei lavori eseguiti e fare un po 'di lavoro sulla macchina.

Ecco i fatti salienti:

  1. La macchina da connettere (nave madre) esegue Ubuntu 14.0.4 LTS
  2. La nave madre è connessa a Internet tramite una LAN a casa, quindi ha un indirizzo IP pubblico.
  3. L'indirizzo IP è assegnato dinamicamente.
  4. Mi collegherò alla nave madre usando un laptop con Ubuntu 15.10

Preferisco usare ssh piuttosto che VNC, a causa di problemi di larghezza di banda - inoltre, tutto ciò di cui ho bisogno è comunque la riga di comando.

Qual è il modo migliore per connettersi in modo sicuro in remoto alla mia macchina?


SSH è sicuro. Qual è il tuo problema con esso?
Mostafa Ahangarha,

VNC è un telecomando grafico. Intendi VPN?
TheWanderer

@techraf ah, ho capito. Ho inviato un voto di approvazione
TheWanderer il

Basta leggere una buona guida, c'è una sezione migliore dedicata a SSH là fuori. E disabilita l'accesso con la password!
Braiam

Dalla chat, vedo che hai pensato all'autenticazione con passphrase anziché password. Quello che potresti esaminare è consentire solo l'autenticazione con chiave privata / pubblica.
Oliphaunt: ripristina Monica il

Risposte:


14

La soluzione migliore è probabilmente quella di eseguire un server SSH su una porta non predefinita, come 2020. Questo impedisce la maggior parte dei tentativi di attacchi di forza bruta dal web, poiché questi robot tendono a guardare solo su porte predefinite.

Dovrai inoltre assegnare al server un indirizzo IP statico sulla LAN, poiché deve essere accessibile in ogni momento. Puoi impostarlo in System Settings --> Network. Per evitare conflitti di indirizzi IP, è anche consigliabile comunicare al server DHCP (il router nella maggior parte dei casi) che questo indirizzo IP è stato utilizzato. Il metodo varia in base al modello, ma dovrebbe esserci un'area da qualche parte nella configurazione del router che consente di prenotare gli indirizzi IP.

Il motivo dell'IP statico è che è necessario impostare il port forwarding nella configurazione del router. Ciò consente alle connessioni dalla porta al tuo IP esterno di essere instradate a quella porta sul tuo server.

Se il tuo indirizzo IP pubblico è dinamico, cosa che probabilmente è, vorrai impostare una sorta di servizio DNS dinamico. La mia raccomandazione per questo servizio è No-IP . Ti dà un sottodominio gratuito che punta sempre al tuo IP pubblico. Questa configurazione richiede l'installazione di un programma su una macchina sempre attiva sulla LAN (chiamata DUC, fornita da No-IP).

Dopo aver configurato il server SSH come desideri, immetti SSH inserendolo

ssh user@remotehostip -p XXX

o usando qualunque client SSH / SFTP che preferisci.

Se una di queste sezioni necessita di istruzioni più dettagliate, commenta e le aggiungerò.

Se qualcun altro ha problemi a seguire, ecco una chat room con passaggi ulteriori / più dettagliati: http://chat.stackexchange.com/rooms/37251/discussion-between-homunculus-reticulli-and-zacharee1


+1 Grazie @ Zacharee1 per la pronta risposta. Ho registrato un dominio per il mio scopo, usando no-ip. Ho seguito tutti i passaggi. L'ultimo passo è dove sono perplesso: configurare il router per il port forwarding. Se possibile, potrei fare un po 'di aiuto in questo settore. Grazie
Homunculus Reticulli

@HomunculusReticulli Qual è il tuo modello di router?
TheWanderer

Inoltre, non riesco a vedere dove / come assegnare l'indirizzo IP statico. Sto usando Ubuntu Trusty Tahir
Homunculus Reticulli il

1
No-IP è lì perché hai un indirizzo esterno dinamico
TheWanderer

1
@BharadwajRaju non è qualcosa che posso spiegare in un commento. Cerca come configurare un computer Ubuntu come router e troverai qualcosa
TheWanderer

1

Oltre alla risposta di Zacharee1, è necessario installare Fail2ban o DenyHosts (ottenere il .deb dai repository Precise). Non devi autenticarti con le chiavi se sei in viaggio. Utilizzare anche una password "sicura". Forse impostare un account utente dedicato con accesso ridotto per le volte in cui non è necessario essere amministratore.

Non vorrei toccare le impostazioni di rete sul server, l'IP statico può essere assegnato dal router. L'indirizzo IP del router dovrebbe essere l'indirizzo "gateway" assegnato in DHCP. Nei casi in cui non è (!) L'indirizzo predefinito dovrebbe essere scritto sotto di esso da qualche parte. Se lo hai modificato, avresti dovuto lasciare da solo l'ultimo valore. Quindi se hai una rete domestica di classe C l'indirizzo sarà abcx dove abc corrisponde a tutti gli altri tuoi indirizzi IP e x è il valore finale dell'adesivo del tuo router. L'ISP dovrebbe avere pagine di aiuto per questo in ogni caso.

Quando si utilizza una porta non standard, evitare '22' come cifre finali (ad esempio 8122). Lascia indizi.

NB. puoi accedere alle applicazioni basate su X su SSH senza VNC, un altro argomento interamente.


potresti per favore spiegare il tuo commento: "Non devi autenticarti con le chiavi se sei in viaggio", questo va contro tutto ciò che ho letto finora. Qual è il motivo dietro di te che lo dici?
Homunculus Reticulli

Perché non si dovrebbe autenticarsi con le chiavi quando si viaggia ? L'autenticazione non importa se viaggi o no.
UniversallyUniqueID

Non hai attraversato un confine ultimamente? Né hai mai perso un telefono? Le tue chiavi saranno condivise. Lo stesso vale per i certificati. Installane uno su una macchina per Internet café a tuo rischio. Le chiavi forniscono accesso immediato senza password, il client deve essere protetto, non nella tasca posteriore.
mckenzm,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.