In Linux, Secure Shell (SSH) è un metodo in cui è possibile accedere a un altro computer tramite un sistema di comunicazione crittografato sicuro e bidirezionale su Internet. Abilitando il servizio SSH in Linux, puoi utilizzare il protocollo SSH come server FTP (File Transfer Protocol) oppure puoi ottenere l'accesso remoto a un altro Pc. L'abilitazione del servizio SSH può connettere il tuo dispositivo a un altro dispositivo o server attraverso un tunnel sicuro in cui la tua identità e le trasmissioni di dati sono totalmente sicure e crittografate. Se sei un amministratore di rete, devi sapere come abilitare e configurare il servizio SSH in Linux.
Servizio SSH in Linux
In Linux, il servizio SSH utilizza un metodo chiamato crittografia end-to-end, in cui un utente ha una chiave pubblica e un altro utente possiede una chiave privata. La trasmissione dei dati può avvenire quando entrambi gli utenti immettono le chiavi di crittografia corrette. SSH funziona tramite l'interfaccia della riga di comando del terminale. La maggior parte dei server Apache e dei server Nginx utilizza il servizio SSH per ottenere l'accesso remoto e fornire servizi ai propri clienti. In questo post, mostrerò come abilitare e utilizzare il servizio SSH in diverse distribuzioni Linux.
1. Installazione del servizio SSH su Ubuntu Linux
Il servizio SSH è installato di default in tutti i sistemi operativi Linux o Unix-like. Puoi verificare se il servizio SSH è installato nella tua macchina Linux o meno controllando la versione SSH. Se scopri che il tuo Ubuntu ha un SSH installato, sei a posto. Se non riesci a trovare il servizio secure shell nel tuo Ubuntu Linux, puoi installarlo con il comando apt-get install.
$ ssh -V
Prima di installare qualsiasi pacchetto, è necessario aggiornare e aggiornare il repository Ubuntu. Quindi installa il pacchetto Openssh Server con il comando della shell del terminale. Tutte le righe di comando del terminale sono riportate di seguito.
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install openssh-server
2. Abilitazione di SSH su Red Hat Linux e CentOS
Red Hat Linux è stato creato principalmente per la distribuzione del carico di lavoro, l'utilizzo di cloud e docker e per scopi di evoluzione. Di seguito sono riportate le righe di comando del terminale per verificare, installare, avviare e abilitare il servizio SSH su Red Hat Linux. Come altre distribuzioni Linux, anche Red Hat utilizza la porta 22 per stabilire il servizio SSH. Potrebbe anche essere necessario consentire l'accesso al firewall per il servizio SSH su CentOS e Red Hat Linux.
$ dnf install openssh-server
$ yum install openssh-server
$ systemctl start sshd
$ systemctl status sshd
$ systemctl enable sshd
firewall-cmd --zone=public --permanent --add-service=ssh
3. Abilitare SSH su Arch Linux
Arch Linux utilizza il comando del gestore pacchetti (packman) per installare qualsiasi applicazione. Innanzitutto, devi aggiornare il repository di sistema di Arch Linux. Quindi puoi installare il servizio OpenSSH su Arch Linux tramite i comandi packman. Puoi avviare o arrestare qualsiasi servizio SSH, controllare lo stato SSH e disabilitare il servizio SSH su Arch Linux utilizzando systemctl
comando da terminale.
$ sudo pacman -Sy
$ sudo pacman -S openssh
$ sudo systemctl status sshd
$ sudo systemctl start sshd
$ sudo systemctl status sshd
$ sudo systemctl stop sshd
$ sudo systemctl enable sshd
$ sudo systemctl disable sshd
$ sudo systemctl restart sshd
Per configurare lo script del servizio SSH su Arch Linux, devi aprire il file di configurazione da /etc/ssh/
cartella.
$ man sshd_config / config files
$ sudo nano /etc/ssh/sshd_config
4. Abilitare SSH su Fedora Linux
Prima di installare il servizio SSH su Fedora Linux, controlliamo se il servizio SSH è già installato all'interno della macchina o meno. Useremo il comando grep terminal per verificare la disponibilità del servizio SSH su Fedora Linux. Fedora Linux utilizza anche la porta 22 per stabilire connessioni shell sicure.
Inoltre, possiamo controllare lo stato totale del servizio SSH utilizzando il systemctl
comando sulla shell del terminale. Oltre a questi, puoi avviare, arrestare, abilitare e disabilitare la secure shell su Fedora Linux utilizzando le righe di comando del terminale fornite di seguito.
$ rpm -qa | grep openssh-server
$ sudo dnf install -y openssh-server;
$ sudo systemctl status sshd
$ sudo ss -lt
$ sudo systemctl start sshd.service;
$ sudo systemctl stop sshd.service;
$ sudo systemctl disable sshd.service;
Alcuni comandi primari del servizio SSH
Fino ad ora, abbiamo seguito il processo di come abilitare e configurare il servizio SSH su distribuzioni Linux. Ora vedremo come eseguire alcuni comandi di base del servizio SSH su Linux. Qui mostrerò le regole principali per stabilire un servizio sicuro, ottenere l'accesso al firewall e l'inoltro del tunnel su Linux. Una volta che avrai imparato a conoscere i fenomeni fondamentali del servizio SSH, sarai in grado di abilitare e configurare altri servizi SSH da solo.
Attività 1:comandi di base del servizio SSH su Linux
Una volta installato il servizio SSH all'interno della tua macchina Linux, ora puoi controllare lo stato del sistema, abilitare il servizio SSH e iniziare con il sistema di shell sicura. Qui vengono forniti alcuni comandi SSH di base. Puoi anche disattivare il sistema SSH se non ne hai bisogno.
$ sudo systemctl status ssh
$ sudo service ssh status
$ sudo systemctl enable ssh
$ sudo systemctl start ssh
$ sudo systemctl stop ssh
Attività 2:ottenere l'accesso al firewall per il servizio SSH
Quando hai a che fare con un protocollo di trasferimento Internet, devi ottenere l'accesso al firewall. In caso contrario, il firewall potrebbe bloccare e interrompere la connessione. Qui, sto usando il sistema firewall UFW per configurare il servizio SSH su Linux. Dopo aver abilitato il firewall UFW, ora puoi controllare lo stato del firewall. Il sistema firewall monitorerà tutte le reti in entrata e in uscita del tuo dispositivo.
$ sudo ufw allow ssh
$ sudo ufw enable
$ sudo ufw status
Attività 3:connessione a un IP specifico tramite il servizio SSH su Linux
Se utilizzi un indirizzo IP statico per la connessione shell protetta, puoi impostare regole per la rete e la porta specifiche. Per il servizio SSH, la porta predefinita è 22. È possibile modificare la porta se necessario. Eseguiremo il vvv
comando per verificare e impostare il protocollo SSH rispetto a un indirizzo IP specifico. Nel mio caso, sto provando a connettere il localhost
Rete. Chi non sa come ottenere una rete localhost su Linux può vedere le procedure di come installare il server Apache su Linux.
$ vvv-ssh
$ ssh -vvv localhost
Lascia che tu conosca il tuo nome utente e l'indirizzo IP statico, ora puoi creare una rete di shell sicura dalla tua macchina Linux a un altro dispositivo. Se non conosci il tuo nome utente, puoi seguire il comando del terminale indicato di seguito.
$ whoami
Per connetterti al tuo indirizzo localhost, usa queste righe di comando del terminale sulla shell del tuo terminale Linux. Ho dimostrato diversi metodi per accedere al servizio SSH con un nome utente specifico e un indirizzo IP.
$ ssh
$ ssh [email protected]_address
$ ssh [email protected]
$ sss [email protected]
Per trovare il tuo indirizzo IP, puoi utilizzare i comandi net-tool di base per ottenere i dettagli del tuo protocollo Internet. E ora, presumo che tu conosca sia il tuo indirizzo IP che il tuo nome utente. Ecco il metodo per connettersi a un indirizzo IP specifico. Posso menzionare che puoi anche connetterti a un indirizzo IP pubblico tramite un servizio SSH su Linux.
$ ip a
$ ifconfig
$ ssh [email protected]
$ ssh [email protected]_ip_address
Attività 4:configurazione del port forwarding su Linux
Sappiamo già che i protocolli Internet funzionano con un indirizzo IP assegnato e un numero di porta. Il termine port forwarding o tunneling è il metodo per aggirare i pacchetti di dati attraverso un tunnel in cui le impronte digitali sono nascoste e protette. I metodi di port forwarding vengono applicati quando devi affrontare una protezione firewall o qualsiasi restrizione per raggiungere il tuo server di destinazione.
Tuttavia, prima di iniziare il tunneling, assicurati di disporre di un numero sufficiente di porte aperte disponibili per inoltrare le porte. Esistono vari tipi di port forwarding, come il port forwarding locale, il virtual forwarding e il port forwarding dinamico.
Qui descriverò il port forwarding locale, il port forwarding dinamico e il sistema di port forwarding remoto tramite il servizio SSH su Linux. Per abilitare il port forwarding, dobbiamo controllare il file di configurazione del servizio SSH. Possiamo trovare il file di configurazione SSH sotto root/etc/ssh
cartella.
Possiamo aprire direttamente lo script di configurazione tramite l'editor Nano. Qui, sarebbe meglio se cambiassi il valore di PermitTunnel to yes
e il GatewayPorts to yes
. Quindi salva il file di script. Dopo aver configurato lo script SSH, devi riavviare il servizio SSH sulla tua macchina Linux.
$ sudo nano /etc/ssh/sshd_config
$ nano ~/.ssh/config
$ vi $HOME/.ssh/config
$ sudo vim /etc/ssh/sshd_config
GatewayPorts yes
$ sudo systemctl restart sshd
$ sudo service sshd restart
Ora, ti consente di inoltrare un indirizzo IP dalla tua macchina Linux locale al server tramite il servizio di tunnel SSH. Tutto quello che devi fare è aprire la shell del terminale e digitare ssh, quindi digitare [email protected]_address
.
$ ssh [email protected]_address.com
Per il port forwarding remoto, puoi utilizzare la stessa procedura del servizio SSH in Linux. Ma se vuoi eseguire il processo in background, devi aggiungere -f
-N sintassi prima dell'indirizzo del tuo server. Puoi anche impostare il port forwarding dinamico e locale tramite il servizio SSH in Linux.
$ ssh -f -N [email protected] -R 5000:localhost:3000
$ ssh -f -N -D 1080 [email protected]
$ ssh -L 8080:www.ubuntupit.com:80 jahid
$ ssh -R 5900:localhost:5900 jahid
Per consentire l'applicazione di mappatura delle porte per software specifico, puoi utilizzare il servizio SSH nella tua macchina Linux. Qui, sto usando la porta 15169 per Firefox. Quindi, potrebbe essere necessario configurare anche Firefox Networking.
$ ssh -X jahid
$ firefox &
$ ssh -fTXC jahid firefox
$ ssh -C -D 15169 jahid
Attività 5:abilitazione e autorizzazione del sistema SSH
In Linux, puoi usare il systemctl
comando per avviare, arrestare, abilitare, disabilitare e riavviare il servizio SSH. Dopo aver abilitato il servizio SSH, puoi ora controllare la porta che verrà utilizzata per stabilire le connessioni shell sicure. Possiamo controllare il numero di porta dal file di script di configurazione SSH. Il file di configurazione SSH si trova in /etc/ssh/
directory. Possiamo aprire direttamente il file di configurazione utilizzando l'editor di script Nano.
$ sudo systemctl stop ssh
$ sudo systemctl start ssh
$ sudo systemctl enable ssh
$ sudo service ssh restart
Una volta aperto lo script, sarai in grado di vedere la famiglia di indirizzi, il numero di porta, gli indirizzi IP di ascolto e altri file di registro. Se trovi qualcosa che non va nello script di configurazione, puoi anche reimpostare il file di configurazione.
$ sudo nano /etc/ssh/sshd_config
$ /etc/init.d/sshd restart
$ sudo nano /etc/ssh/sshd_config
$ /etc/init.d/sshd restart
$ vi /etc/ssh/sshd_config
Puoi anche provare altri metodi per abilitare e configurare il servizio SSH su Linux. Questo metodo chiederà all'utente di creare una directory per configurare e archiviare i dati. Puoi creare un servizio SSH specifico per ogni utente su Linux. Userò il touch
comando per configurare il file di script. Qui, sto usando il mio nome host, fai attenzione a usare il tuo nome host. Quindi riavvia il servizio SSH.
$ /etc/ssh/ssh_config
$ ~/.ssh/config or $HOME/.ssh/config
$ mkdir -p ~/.ssh
$ chmod 0700 ~/.ssh
$ touch ~/.ssh/config
$ chmod 0700 ~/.ssh/config
~/.ssh/config
$ ssh UbuntuPIT
$ /etc/init.d/sshd restart
Aiuto aggiuntivo per gestire i servizi Secure Shell
Mantenere una connessione di rete sicura e duplex può essere un po' complicato, a volte. In qualità di amministratore di rete Linux, devi sapere come gestire i problemi imprevisti delle operazioni di shell sicure. Devi sapere cosa fare quando improvvisamente il servizio SSH in esecuzione viene disconnesso. Devi anche sapere come installare il servizio SSH sul dispositivo del cliente.
$ sudo apt-get remove openssh-client openssh-server
$ sudo apt-get install openssh-client openssh-server
Per ottenere ulteriore assistenza sul servizio SSH su Linux, è possibile utilizzare la funzione di guida predefinita dalla shell del terminale. Ecco alcuni comandi di terminale di base relativi al servizio SSH che potresti trovare utili e utili per verificare SSH e SSHD su Linux.
$ ssh –help
$ which ssh
$ which sshd
$ whereis ssh
$ ssh -v localhost
Pensieri finali
Il servizio Secure Shell è l'applicazione più efficace e potente per connettere due dispositivi da remoto. Tuttavia, alcune applicazioni di accesso remoto basate su interfaccia utente grafica sono disponibili anche per Linux. Ma, nella lunga corsa, il servizio SSH è decisamente migliore e affidabile per Linux. In questo post, ho descritto tutti i modi possibili per abilitare il servizio SSH in Linux. Ho anche dimostrato le idee fondamentali del port forwarding e della crittografia end-to-end.
Se sei un amministratore di sistema, devi sapere quanto sia fondamentale avere una conoscenza completa del servizio SSH. Quindi, se ami questo articolo, puoi condividere questo post sui tuoi social media. E ti invitiamo anche a scrivere le tue opinioni relative a questo post nella sezione dei commenti.