Secure Shell, comunemente noto come SSH, è come un modo super sicuro per comunicare con computer lontani, chiamati server. È come un tunnel segreto su Internet che mantiene le tue conversazioni sicure e private. Immagina di inviare una lettera e, invece di inviarla apertamente, di metterla in una busta magica che solo tu e la persona a cui la stai inviando potete aprire. Questo è ciò che fa SSH per le comunicazioni con il tuo computer.
Questo articolo è qui per aiutare i principianti, coloro che hanno appena iniziato con queste cose, a capire come usare SSH. Ti mostreremo i passaggi per utilizzare un comando speciale (pensalo come una stretta di mano segreta) per connettere il tuo computer a un server lontano nel mondo di Linux. Alla fine di questa guida, sarai più sicuro nell'usare SSH per far sì che il tuo computer comunichi in modo sicuro e protetto quando hai a che fare con quei server remoti.
Cos'è SSH?
SSH, o Secure Shell, costituisce un protocollo di rete crittografico progettato per consentire la comunicazione sicura tra due sistemi su reti che potrebbero non essere sicure. Questo protocollo è ampiamente utilizzato per l'accesso remoto ai server e la trasmissione sicura di file tra computer. In sostanza, SSH agisce come un canale sicuro, stabilendo un canale confidenziale per la comunicazione in scenari in cui la rete può comportare rischi per la sicurezza. Questa tecnologia è fondamentale per i professionisti che cercano un metodo affidabile e sicuro per gestire i server e trasferire dati sensibili tra computer in modo controllato e protetto. ssh viene eseguito sulla porta TCP/IP 22.
Sintassi del comando SSH in Linux
La sintassi di base per l'utilizzo del comando SSH è la seguente:
ssh [username]@[hostname or IP address]>
Qui,
Sostituire[> username> ]>con il nome utente del server remoto e[> hostname or IP address> ]>con il nome host o l'indirizzo IP del server.
linux come rinominare una directory
Prerequisiti
Prima di addentrarsi nel mondo di SSH, è essenziale assicurarsi che siano soddisfatti determinati prerequisiti. Ecco una lista di controllo per garantire una connessione fluida:
- Stato del computer remoto:
- Assicurati che il computer remoto sia acceso e disponga di una connessione di rete attiva. SSH si basa sulla connettività di rete e il server remoto deve essere accessibile.
- Informazioni di identificazione:
- Ottenere l'indirizzo IP o il nome della macchina remota. Queste informazioni sono fondamentali per indirizzare la connessione SSH al server corretto.
- Autorizzazione all'accesso:
- Assicurati di disporre delle autorizzazioni necessarie per accedere al computer remoto. Ciò in genere implica avere un nome utente e una password validi per il server remoto.
- Impostazioni del firewall:
- Controlla le impostazioni del firewall sia sul tuo computer locale che sul server remoto. Le connessioni SSH utilizzano una porta specifica (solitamente la porta 22), quindi è fondamentale assicurarsi che il firewall consenta il traffico SSH. Potrebbero essere necessarie modifiche per consentire una comunicazione sicura.
Installa il componente SSH su Linux
Potrebbe essere necessario configurare SSH su Linux, poiché alcune distribuzioni non vengono fornite preinstallate. L'installazione di OpenSSH, un'implementazione SSH ampiamente utilizzata, o la scelta di una soluzione di interfaccia utente grafica (GUI) come il client PuTTY per Ubuntu possono risolvere questo problema. Ecco una guida passo passo sull'installazione e la configurazione di OpenSSH sia sul lato client che su quello server:
Installandolo sia su client che su server
Per i sistemi basati su Debian/Ubuntu, aprire il terminale ed eseguire:
sudo apt install openssh-client openssh-server>
Per i sistemi basati su Red Hat come CentOS o Fedora, utilizzare uno dei seguenti comandi:
sudo dnf install openssh-clients openssh-server>
O
sudo yum install openssh-clients openssh-server>
Nota : Per verificare lo stato del server in esecuzione dopo l'installazione possiamo utilizzare questo comando systemctl status sshd
cos'è la romNel caso in cui il servizio non sia in esecuzione, eseguilo con il seguente comando:
sudo systemctl start sshd>Il comando non stampa un output.
Per avviare automaticamente il servizio all'avvio, eseguire:
sudo systemctl enable sshd>Abilitare il sshd il servizio lo avvia durante il processo di avvio.
Come utilizzare SSH per connettersi a un server remoto in Linux
In questo esempio accediamo Ubuntu o RedHat Linux macchina tramite il prompt dei comandi di Windows utilizzando 'ssh'.
Ad esempio: se il nostro indirizzo IP è 10.143.90.2 e il nome utente è Jayesh
Sintassi per utilizzare ssh per connettersi a un server remoto:
eredità Java
ssh [email protected]>
Aggiungi il tuo nome utente al posto di Jayesh e aggiungi il tuo indirizzo IP al posto di 10.143.90.2
ssh al sistema Linux da Windows
il comando è composto da 3 parti diverse:
- comando ssh indica al sistema di stabilire una connessione sicura crittografata con la macchina host.
- nome utente rappresenta l'account a cui si accede sull'host.
- ospite si riferisce alla macchina che può essere un computer o un router a cui si sta accedendo. Può essere un indirizzo IP (ad esempio, 192.168.1.24) o un dominio, ad esempio www.nomedominio.com).
Nota: Dopo aver effettuato l'accesso al computer host, i comandi funzioneranno come se fossero scritti direttamente sul terminale host. L'utilizzo di una coppia di chiavi pubblica-privata o di una coppia di chiavi SSH per accedere all'host remoto è più sicuro rispetto all'utilizzo delle password.
Come creare chiavi pubbliche-private?
Per generare chiavi pubbliche-private utilizzare il comando:
ssh-keygen>

ssh-keygen
La chiave privata deve rimanere nascosta mentre la chiave pubblica deve essere copiata sull'host remoto. Dopo aver copiato la chiave pubblica sull'host remoto, la connessione verrà stabilita utilizzando le chiavi SSH e non la password.
Opzioni disponibili in ssh
Nota: Qui invece di utente e host aggiungi nome utente e indirizzo IP a cui desideri connetterti. E localhost è l'IP del nostro sistema locale.
| Opzioni | Descrizione | Sintassi |
|---|---|---|
| -1 | Forza ssh a utilizzare solo il protocollo SSH-1. | ssh -1 user@host> |
| -2 | Forza ssh a utilizzare solo il protocollo SSH-2. | ssh -2 user@host> |
| -4 | Consente solo indirizzi IPv4. | ssh -4 user@host> |
| -6 | Consente solo indirizzi IPv6. | ssh -6 user@host> |
| -UN | L'inoltro della connessione dell'agente di autenticazione è abilitato. | ssh -A user@host> |
| -UN | L'inoltro della connessione dell'agente di autenticazione è disabilitato. | ssh -a user@host> |
| -C | Comprime tutti i dati (inclusi stdin, stdout, stderr e i dati per le connessioni X11 e TCP inoltrate) per un trasferimento dei dati più rapido. | ssh -C user@host> |
| -C | Seleziona la specifica di crittografia per crittografare la sessione. L'algoritmo di cifratura specifico verrà selezionato solo se sia il client che il server lo supportano. | ssh -c aes256-cbc user@host> |
| -F | Richiede a ssh di andare in background subito prima dell'esecuzione del comando. | ssh -f user@host command> |
| -G | Consente agli host remoti di connettersi alle porte inoltrate locali. | ssh -g -L 8080:localhost:80 user@host> |
| -N | Impedisce la lettura da stdin. | ssh -n user@host command> |
| -P | Porta a cui connettersi sull'host remoto. | ssh -p 2222 user@host> |
| -Q | Elimina tutti gli errori e gli avvisi | ssh -q user@host> |
| -IN | Visualizza il numero di versione. | ssh -V> |
| -In | Modalità dettagliata. Fa eco a tutto ciò che sta facendo mentre stabilisce una connessione. È molto utile nel debug degli errori di connessione. | ssh -v user@host> |
| -X | Abilita l'inoltro X11 (inoltro GUI). | ssh -X user@host> |
Il t tre principali tecniche di crittografia Utilizzato da SSH.
SSH è decisamente più sicuro rispetto ad altri protocolli come telnet grazie alla crittografia dei dati. Ci sono tre principali tecniche di crittografia utilizzato da SSH:
rispetto a Java
- Crittografia simmetrica: Questa crittografia funziona secondo il principio della generazione di un'unica chiave per crittografare e decrittografare i dati. La chiave segreta generata viene distribuita tra i client e gli host per una connessione sicura. La crittografia simmetrica è la crittografia più semplice e offre le migliori prestazioni quando i dati vengono crittografati e decrittografati su un singolo computer.
- Crittografia asimmetrica: Questa crittografia è più sicura perché genera due chiavi diverse: chiave pubblica e privata. Una chiave pubblica viene distribuita a diverse macchine host mentre la chiave privata viene conservata in modo sicuro sulla macchina client. Viene stabilita una connessione sicura utilizzando questa coppia di chiavi pubblica-privata.
- Hashing: L'hashing unidirezionale è una tecnica di autenticazione che garantisce che i dati ricevuti siano inalterati e provengano da un mittente autentico. Una funzione hash viene utilizzata per generare un codice hash dai dati. È impossibile rigenerare i dati dal valore hash. Il valore hash viene calcolato sia dal mittente che dal destinatario. Se i valori hash corrispondono, i dati sono autentici.
Domande frequenti sul comando 'ssh' in Linux.
1) Cosa significa SSH?
SSH sta per Secure Shell.
2) A cosa serve SSH?
SSH viene utilizzato per connettersi in modo sicuro a un sistema o server remoto. Può essere utilizzato per trasferire dati tra due sistemi collegati.
3) Su quale porta funziona SSH?
SSh viene eseguito sulla porta TCP/IP 22.
4) Come possiamo accedere a una macchina Linux tramite il prompt dei comandi di Windows utilizzando SSH?
Possiamo accedere a una macchina Linux tramite il comando Windows utilizzando SSH
sintassi:
ssh user_name@host(IP/Domaimn_name)>
5) Come possiamo creare chiavi pubbliche-private utilizzando SSH?
Utilizzando SSH utilizzando il comando
ssh-keygen>
6) Quali sono le tre principali tecniche di crittografia utilizzate da SSH?
Le tre principali tecniche di crittografia utilizzate da SSH sono:
- Crittografia simmetrica
- Crittografia asimmetrica
- Hashing
(Spiegato nel contesto sopra)
7) Come posso utilizzare SSH per connettermi a un server remoto in Linux?
Sostituisci ` username`> con il tuo nome utente effettivo e ` remote_server_ip`> con l'indirizzo IP o il dominio del server remoto.
javascript più vicino
ssh username@remote_server_ip>
8) Qual è il comando SSH per connettersi ad un server con una porta specifica?
Questo comando si connette al server remoto utilizzando la porta 2222. Modifica il numero di porta secondo necessità.
ssh -p 2222 username@remote_server_ip>
9) Come c an utilizzo SSH per trasferire file tra il mio computer locale e un server remoto?
Utilizzo di SCP per il trasferimento di file. Questo comando copia in modo sicuro il file locale nella destinazione specificata sul server remoto. Modificare di conseguenza i percorsi e i nomi dei file.
scp local_file.txt username@remote_server_ip:/path/to/destination/>
Conclusione
In questo articolo abbiamo discusso di Secure Shell (SSH), che è come un tunnel segreto e sicuro attraverso il quale i computer possono comunicare in modo sicuro su Internet. Questa guida è per principianti e li aiuta a utilizzare SSH per connettere il proprio computer a server lontani nel mondo Linux. Copre tutto, dal comando SSH di base ai prerequisiti come controllare la connessione Internet e disporre delle autorizzazioni corrette. Imparerai come installare SSH su Linux, creare chiavi sicure e usarle per accessi più sicuri. L'articolo include anche le domande frequenti con risposte semplici, assicurandoti di poter gestire i server remoti in modo sicuro e protetto utilizzando SSH in Linux. È come dare al tuo computer un codice segreto per parlare in sicurezza su internet!