Vi è mai capitato di aver lasciato il computer di casa acceso, volete spegnerlo, ma non potete perchè ormai siete lontani da casa?
Beh… Ora puoi farlo grazie a Secure SHell (SSH)!
Che cos’è SecureSHell?
Secure Shell è un protocollo che serve per far interagire due computer tra di loro, usato per accedere a una shell (testuale) remota o locale del PC che desideriamo “spegnere”, come nel caso descritto prima.
E’ sicura?
Utilizza una connessione criptata per le comunicazioni tra i due dispositivi.
E’ possibile trasferire files?
Si, con server SFTP, ad esempio. (Lo vedremo sicuramente in un altro articolo.)
OpenSSH e SSH… Cosa cambia?
SSH è sviluppata dall’azienda che ha sviluppato il protocollo, ed è un programma closed source, OpenSSH è un programma open source che sfrutta il protocollo SSH
In molti confondono OpenSSH e OpenSSL…Giusto o sbagliato?
Sbagliato. Nonostante i nomi siano moltissimo simili, hanno scopi diversi (SSL è il protocollo di sicurezza utilizzato per i siti web ad esempio (https) [vedi Facebook, usa una connessione criptata per “camuffare” i dati di login e non che transitano in una rete (Intercepter-NG per Android, WireShark o altri sniffer non saranno in grado di rilevare le password… O vengono restituite sotto forma di algoritmo MD5)], ma l’obiettivo dei due progetti è lo stesso: fornire software open source, e magari un supporto migliore.
Cominciamo con la guida
1) Cosa serve
OpenSSH per GNU/Linux:
Distribuzioni Debian-based
# apt-get install openssh
Distribuzioni Red Hat-based
# yum install openssh
Distribuzioni Arch Linux-based
# pacman -S openssh
JuiceSSH per dispositivi Android:
Play Store | JuiceSSH – SSH Client for Android
2) Configuriamo OpenSSH
In questa guida verrà utilizzato Arch Linux, verranno mostrati i comandi da utilizzati per altre distribuzioni
Verifichiamo che le configurazioni /etc/ssh/ssh_config
e /etc/ssh/sshd_config
siano presenti con il comando
# nano /etc/ssh/ssh_config
e
# nano /etc/ssh/sshd_config
consiglio di aggiungere le righe AllowUser nome_utente
e PermitRootLogin valore (yes o no)
per impostare gli utenti che potranno accedere da remoto e se l’utente root potrà accedervi in remoto (scelta non consigliata, ma non potrete eseguire operazioni amministrative )
3) Impostiamo OpenSSH (sshd) per essere avviato all’accensione del PC
per distribuzioni che utilizzano Systemd come “gestore di sistema”, poi riavviamo:
# systemctl enable sshd
# reboot
ora sshd (il gestore delle connessioni e richieste per ssh) è configurato e pronto all’utilizzo!
per riavviare/interrompere/avviare il daemon ssh è sufficiente eseguire
# systemctl (restart/stop/start) sshd
oppure
# service sshd (start/stop/restart)
Maggiori info: Wiki ArchLinux – OpenSSH
Ora avete due opzioni
1) Vi connettete al vostro PC da remoto/locale con una shell testuale di un PC GNU/Linux con la sintassi:
ssh indirizzo_locale
(vedremo dopo come fare per collegarci in remoto )
oppure, sempre da Computer, utilizzare un altro tool, magari GUI (anche per Windows)
2) Utilizzare JuiceSSH per il vostro dispositivo Android
- Dal menù principaleSelezioniamo “Connections“
- Premiamo sul + in basso per aggiungere un server e compiliamo i parametriNota: da questa activity è possibile aggiungere server, gestirli e connettere a questi. E’ inoltre possibile definire delle identità che vedremo in seguito, per il port forwarding: serve JuiceSSH pro
Qui è possibile inserire un nome per la connessione, il tipo e l’ indirizzo IP, l’identità ( è possibile configurarne una nuova o utilizzare una delle presenti nel database), la porta (che è la 22), poi è sufficiente premere il tick in alto a destra per completare.
- dal menù delle connessioni, cliccare su quella appena configurata per connettervi al server (o al vostro PC)
- Eseguite comandi sulla shell remota dal terminale JuiceSSHcome vedremo, il prompt, il profilo Bash sono identici a quelli del computer (basta confrontarli con il terminale GNOME o XTerm)
Identità
Le identità servono a definire l’utente con cui loggarsi nei server(comodo per non scrivere sempre la password), è possibile gestirle dal tab vicino a Connections nella activity del primo elemento nel menù principale “Connections”
è sufficiente cliccare + per aggiungerne un altra, cliccate sull’identità corrente per modificarla
è possibile anche aggiungere dei plugins, quello che ho trovato più utile è performance monitor, e si scarica aprendo”plugins” dal menù principale, ce ne sono molte altre…
questo è il plugin performance-monitor che come si intuisce dal nome, ci mostra l’usage del PC connesso tramite SSH. Per aprirlo è sufficiente andare nel menù plugins e tappare “open” in performance monitor. Per mostrare l’attività del nostro computer basta eseguire “Connect” in basso e attendere che la connessione tramite SSH avvenga. In alto, nella action bar c’è uno spinner (menù a tendina) che ci mostra i server memorizzati nel nostro database.
Per avviare una connessione SSH remota, non in locale, cioè nella stessa rete, è necessario avere
- Il nostro IP WAN (IP Esterno)
- l’IP locale del PC nel quale è in esecuzione SSH e SSHD
- Accedere al menù di configurazione del nostro router
per ottenere il nostro IP Esterno, andiamo nel sito TraceMyIp e scriviamocelo da qualche parte, (nota: se l’indirizzo IP non è statico, questo cambierà quindi la connessione dovrà essere reimpostata), dal menù del nostro router (accessibile dal browser attraverso l’indirizzo IP del router (di solito 192.168.1.1 o 192.168.1.0 o 192.168.0.1), accedere ai dispositivi connessi, dovrebbe essere mostrato l’hostname del PC, scriviamo anche quell’IP (locale) (di solito 192.168.1.x o 192.168.x.y). Poi cerchiamo voci quali “Server virtuale o virtual server” o “Port forwarding”, bene ora è necessario scrivere l’IP locale della macchina, inserire la porta 22, protocollo TCP per l’esterno e l’interno.
Ora, in JuiceSSH o un client SSH (remoto) sarà necessario scrivere l’IP esterno della nostra rete per connetterci al server(cioè il nostro PC).
- dal menù delle connessioni, cliccare su quella appena configurata per connettervi al server (o al vostro PC)
Il post JuiceSSH e OpenSSH – Impostare SSH e Controllare il PC da remoto con Android (e in locale) è stato pubblicato su InTheBit - Il Blog sulla Tecnologia che alimenta le tue passioni!.
Leggi il contenuto originale su InTheBit - Il Blog sulla Tecnologia che alimenta le tue passioni! » Linux