Innanzitutto, e questa è buona norma e regola per qualsiasi servizio "vitale" su una macchina, bisogna pensare ad attivare SSH su una porta differente dalla porta 22 o porta di default.
Per poter fare una cosa del genere, si possono scegliere 3 vie:
1. Port forwarding sul router:
una prima strada, forse la più semplice, è quella di fare un "port forwarding" sul proprio router da una porta esterna non di default alla porta interna 22.
Esempio:
supponiamo di avere un indirizzo (ip) esterno 87.20.34.2 e la macchina su cui vogliamo attivare SSH abbia come indirizzo interno 192.168.1.15.
Vogliamo mettere come porta non di default la 2222
Dobbiamo istruire allora il nostro router a "deviare" tutto il traffico che arriva sull'ip esterno sulla porta 2222 verso la porta 22 della macchina che ha indirizzo interno 192.168.1.15
Il metodo appena indicato è forse uno dei più semplici, in quanto non necessita di configurazione alcuna sul server. Purtroppo non è sempre un metodo praticabile, in quanto alcuni router non permettono un port forwarding ma solo il nat di una determinata porta. In altre parole, sempre prendendo l'esempio di sopra, lasciano la possibilità di aprire soltanto la porta 22 verso l'ip interno 192.168.1.15. Peccato che non è quello che vogliamo. Purtroppo, se apriamo la porta 2222 dall'ip esterno a quello interno le cose non migliorano. Ecco che in questi casi bisogna ricorrere ad uno dei due metodi successivi.
2. Cambiare porta di default del server SSH con SSH Helper:
questo frontend grafico del server ssh è veramente un toccasana per chi è avverso all'uso del terminale
La videata dei Server Settings parla da sola
A questo punto, non resta che cambiare il parametro SSH ports da 22 a 2222 ed installare i Server Settings.
Veramente di una semplicità disarmante.
3. cambiare porta di default del server SSH con il terminale (solo per chi vuole veramente farsi del male):
primo passo: cambiare la porta di default sul file sshd_config che si trova sul path /etc/sshd_config
IKEE:~ ikee$ sudo pico /etc/sshd_config
autenticarsi e modificare il file c.s.:
al posto di
#Port 22
modificare con
Port 2222
(decommentando si abilitano le impostazioni non di default)
al posto di
#Protocol 2,1
modificare con
Protocol 2
al posto di
#PermitRootLogin yes
modificare con
PermitRootLogin no
ctrl+x, y, enter
secondo passo: cambiare la porta di default su /etc/services
IKEE:~ ikee$ sudo pico /etc/services
autenticarsi e modificare il file c.s.:
al posto di
ssh 22/udp # SSH Remote Login Protocol
ssh 22/tcp # SSH Remote Login Protocol
modificare con
ssh 2222/udp # SSH Remote Login Protocol
ssh 2222/tcp # SSH Remote Login Protocol
ctrl+x, y, enter
riavviare la macchina (può non essere necessario,ma la gestione dei demoni varia da panther a tiger)
abilitare il servizio ssh da Preferenze di Sistema> Condivisione
Bene, a questo punto abbiamo preparato il nostro server SSH ai collegamenti da tutto il mondo
Si, ottimo ma....per collegarsi? Sempre prendendo a riferimento l'esempio sopra:
IKEE:~ ikee$ ssh -p 2222 -l utenteremoto 87.20.34.2
oppure
IKEE:~ ikee$ ssh -p 2222 utenteremoto@87.20.34.2
Analogamente, per il tunnel SSH di VNC
IKEE:~ ikee$ ssh -p 2222 -L 5911:localhost:5900 -N -l utenteremoto 87.20.34.2
oppure
IKEE:~ ikee$ ssh -p 2222 -L 5911:localhost:5900 -N utenteremoto@87.20.34.2
oppure
IKEE:~ ikee$ ssh -p 2222 -L 5911:localhost:5900 -N -f utenteremoto@87.20.34.2 se volete mandare in background l'operazione
Se non siete paghi della cosa, potete attivare un servizio di trasferimento file o tipo sftp o addirittura afp sul tunnel SSH. Analogamente, in quest'ultimo caso, la sintassi sarà:
IKEE:~ ikee$ ssh -p 2222 -L 10000:localhost:548 -N utenteremoto@87.20.34.2
Andando poi su Finder e premendo i tasti mela+k
e scrivendo come indirizzo del server
afp://localhost:10000 e click su connetti
dopo essersi autenticati e dopo aver scelto quali volumi montare, ecco comparire il proprio HD remoto sul finder
esattamente come se fosse in una LAN, si possono trasferire e ricevere files :)
Buon divertimento ;)