Linux offre la possibilità di effettuare una connessione da remoto al sistema per eseguire dei comandi e gestire i servizi attivi.
Con questa connessione l'utente ha la possibilità di gestire un'interfaccia da riga di comando, attraverso la quale lanciare tool, controllare il contenuto del filesystem, eseguire script sul server a cui si collega, direttamente dalla propria postazione.
Uno dei metodi più utilizzati per collegarsi ad esempio ai server Linux, che non presentano un'interfaccia grafica per non sprecare inutilmente risorse in termini di RAM e CPU, è quello tramite protocollo SSH, sigla che sta per Secure SHell.
Installazione del server SSH
Per poter accettare le connessioni in entrata tramite connessione sicura da remoto, il sistema deve predisporre il demone relativo al servizio SSH (sshd).
Come prima cosa occorre installare il servizio da terminale, tramite il seguente comando:
sudo apt install openssh-server
completata l'installazione bisognerà abilitare il demone relativo al servizio SSH, può eseguirlo il comando di attivazione è il seguente:
sudo systemctl start sshd
in alternativa, qualora il servizio fosse già attivo, è possibile controllarne lo stato lanciando da terminale:
sudo systemctl status sshd
Infine, per disattivare l'esecuzione automatica di sshd all'avvio del sistema sarà sufficiente eseguire il seguente comando:
sudo systemctl disable sshd
Configurazione del server SSH
Una volta attivato il servizio occorre eseguire delle ottimizzazioni, lato security, che possano permettere al sistema di avviare il demone con alcune accortezze di sicurezza in più.
Per fare questo occorre personalizzare sshd, il cui file di configurazione si trova nel seguente percorso:
/etc/ssh/sshd_config
Consigli per una configurazione in sicurezza
Le impostazioni di default settano la porta del servizio sulla 22, in questo caso si consiglia di modificarla impostando un'altra porta non utilizzata al seguente riferimento:
Port 22 //il numero 22 va sostituito con un altro, 2222, 1337, 5252...
oltre a questo suggeriamo di disabilitare anche l'accesso da root con il parametro:
PermitRootLogin no
e di consentire l'accesso solo a determinati utenti del sistema:
AllowUsers nomeutente1 nomeutente2 nomeutente3
Verranno pubblicate prossimamente ulteriori guide per eseguire sshd in sicurezza, tra queste potete consultare quella sull'autenticazione key based (basata sulla verifica di chiavi pubbliche e private).
ATTENZIONE: va seguita la guida sulla configurazione della connessione basata su accesso con chiave pubblica / privata prima di impostare il seguente passaggio!
Dopo la configurazione di questa tipologia di autenticazione, potrete anche disattivare la richiesta della password nel file di configurazione di sshd, con il seguente parametro:
PasswordAuthentication no
ricordandoci poi di riavviare il servizio:
systemctl restart sshd
Connessione tramite client SSH
La connessione viene instaurata quindi tra un client, presente sulla postazione dell'utente, ed un server sulla macchina Linux da gestire in remoto.
Il tool da riga di comando utilizzato in Linux, è chiamato semplicemente ssh, presente di default in distribuzioni come Ubuntu.
Per eseguirlo, occorre aprire l'emulatore del terminale ( se volete con la combinazione di tasti CTRL + ALT + T ) e utilizzare la seguente sintassi:
ssh utente@ip_server_a_cui_collegarsi -p porta
Conclusa la connessione sarà possibile eseguire comandi sulla macchina da remoto.
LICENZA E CONDIZIONI D'USO
Questo How-to è rilasciato sotto licenza Creative Commons Attribution-NonCommercial 3.0 Italy.
CONTATTI DELL'AUTORE
Marco Ciammella Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
OrvietoLUG Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.