Hai bisogno di accedere da remoto e testare i tuoi dispositivi? Telnet potrebbe essere proprio ciò di cui hai bisogno. Sebbene non sia così popolare come una volta, Telnet è ancora uno strumento utile per molti amministratori di sistema.
In questo articolo imparerai come usare Linux per installare Telnet, come usarlo per connetterti a dispositivi remoti e testare la connettività per vedere se funziona correttamente.
Prerequisiti
Questo tutorial sarà una dimostrazione pratica. Se desideri seguire, assicurati di avere quanto segue.
- Un sistema Linux. Questo tutorial utilizza Ubuntu 20.04, ma qualsiasi sistema Linux moderno dovrebbe funzionare.
- Un account con privilegi sudo. Questo tutorial utilizza un account root, ma sarebbe più appropriato utilizzare un account non root con privilegi sudo per motivi di sicurezza.
- Un server di posta SMTP. Qualsiasi server di posta SMTP dovrebbe funzionare.
Utilizzo di Linux per installare Telnet
Il client telnet non è installato per impostazione predefinita sulla maggior parte delle distribuzioni Linux. Devi installarlo prima di poterlo utilizzare.
Per installare il client telnet su Ubuntu Linux, segui questi passaggi:
1. Apri una finestra del terminale.
2. Aggiorna l'elenco dei pacchetti apt per assicurarti di avere le ultime versioni dei pacchetti:
Anteponi il comando sudo se utilizzi un account non root.
apt update -y
3. Eseguire il comando seguente per installare il client telnet e il demone. Non avrai bisogno del demone in questo tutorial, ma viene fornito nello stesso pacchetto del client.
apt install telnetd -y
4. Verificare che il numero di versione del client telnet con grep.
dpkg -l | grep telnet
Se il client telnet è presente nel sistema, vedrai un output simile al seguente.
5. Eseguire il comando grep di seguito per verificare se il comando telnet è nella variabile di ambiente del percorso. Questo comando restituisce l'output seguente, indicando che il comando telnet è disponibile.
which telnet
Apertura del firewall locale per consentire l'accesso a Telnet
Il client telnet utilizza la porta 23 per impostazione predefinita. Se hai un firewall configurato sul tuo sistema, devi aprire la porta 23 per consentire il traffico telnet.
Per aprire la porta 23 con UFW su Ubuntu, segui questi passaggi:
1. Apri una finestra del terminale.
2. Controlla lo stato del firewall per assicurarti che sia attivo.
ufw status
Vedrai un output simile al seguente se il firewall è attivo. Se lo stato non è attivo, puoi saltare questa sezione poiché non è necessario consentire la porta su un firewall non in esecuzione.
3. Per consentire il traffico sulla porta 23, digitare il comando seguente. Questo comando apre la porta 23 per il traffico TCP. Per impostazione predefinita, telnet utilizza una porta TCP per stabilire una connessione.
ufw allow 23/tcp
4. Verificare che la porta sia aperta digitando il comando seguente per visualizzare un elenco di regole del firewall. Come puoi vedere nell'output, il traffico TCP sulla porta 23 è ora consentito da qualsiasi luogo.
ufw status numbered
Verifica di una porta aperta tramite Telnet
Ora che hai installato il client telnet, puoi iniziare a testarlo. In questa sezione utilizzerai telnet per verificare se una porta è aperta su un sistema remoto.
Telnet fornisce una struttura di comunicazione bidirezionale interattiva orientata al testo utilizzando una connessione terminale virtuale. Quando esegui un telnet su una macchina remota, stai eseguendo il programma telnet sulla tua macchina locale e ti connetti al demone telnet della macchina remota.
Il demone ti consente di accedere ed eseguire comandi sulla macchina remota come se fossi seduto alla console.
Nota:Telnet è un protocollo non sicuro perché lo scambio di informazioni avviene in testo normale e non è crittografato, comprese le password. Chiunque sia in grado di annusare il traffico di rete può acquisire informazioni riservate.
Per questo motivo, è generalmente consigliabile utilizzare SSH invece di telnet quando possibile.
Ma ci sono ancora alcuni usi per telnet, ad esempio, la risoluzione dei problemi di connettività di rete controllando le porte aperte. Inoltre, per connettersi a sistemi legacy che non supportano SSH.
1. Supponiamo di voler controllare se la porta 22 è aperta su una macchina remota prima di potervi accedere tramite SSH. Esegui il comando seguente per telnet sulla porta 22 dell'host remoto.
telnet 147.182.182.104 25
Se la porta 22 è aperta, vedrai un output simile allo screenshot qui sotto. L'output Connesso a 147.182.182.104 indica che hai stabilito correttamente una connessione alla macchina remota.
Se la porta è chiusa, verrà visualizzato un messaggio in corso... seguito da un errore di timeout della connessione, come mostrato di seguito. Questo output indica che la porta è chiusa o che nessun demone è in ascolto sull'host remoto.
2. Per uscire dalla sessione telnet, premere Ctrl+], digitare quit al prompt telnet> e premere Invio.
3. Ora, SSH nella macchina remota in modo sicuro. Sostituisci 147.182.182.104 con l'indirizzo IP della macchina remota.
ssh [email protected]
Inserisci la tua password quando richiesto e premi Invio. Ora sei connesso alla macchina remota usando SSH.
Verifica della connettività delle porte su un server SMTP
Trovare la causa principale di un problema su un server di posta può essere difficile. Ci sono molti file di configurazione e componenti coinvolti nel processo di consegna della posta. Per risolvere i problemi del server di posta, devi controllare lo stato di ogni componente nella catena di recapito della posta.
Il passaggio più semplice consiste nell'utilizzare telnet per connettersi a ciascun componente e verificare che funzioni correttamente. In questa sezione imparerai come utilizzare telnet per controllare lo stato di un server di posta SMTP tramite la porta 2525.
Nella maggior parte dei casi, le porte standard per i server SMTP sono 25, 465, 587 e 2525. È necessario conoscere la sua porta di ascolto per connettersi al server di posta. Questo esempio utilizza la porta 2525. Contatta l'amministratore del tuo server di posta per ottenere queste informazioni.
1. Per connettersi al server di posta tramite telnet, digitare il seguente comando sul terminale. Sostituisci smtp.example.com e 2525 con l'FQDN e il numero di porta corretti del tuo server di posta SMTP.
telnet smtp.example.com 2525
Vedrai un output simile al seguente. La prima riga di output mostra l'indirizzo IP del server di posta (35.187… in questo esempio). La seconda riga indica che la connessione al server è riuscita. L'ultima riga è il codice di stato e il messaggio dal server.
In questo caso, il codice 220 indica che il server è pronto a ricevere la posta.
2. Quindi, impartire alcuni comandi al server per verificarne lo stato. Digita EHLO e premi Invio.
EHLO
EHLO è l'abbreviazione di HELO e HELLO, un comando per identificare il client SMTP sul server. Questo comando apre la conversazione dal client al server. Il server risponde con un elenco di comandi che supporta.
Vedrai un output simile al seguente. La prima riga della risposta del server è il codice di stato (250) e il messaggio. Le righe rimanenti sono un elenco di comandi SMTP supportati dal server.
A seconda della configurazione del tuo server di posta, vedrai molti altri comandi SMTP disponibili supportati dal server.
3. Successivamente, digita mail from:[email protected] e premi Invio per specificare l'indirizzo email del mittente. Sostituisci [email protected] con il tuo indirizzo email effettivo.
mail from: [email protected]
Il server risponde con un codice di stato 250 e un messaggio OK, indicando che il server sta funzionando correttamente.
4. Ora, digita rcpt a:[email protected] e premi Invio per specificare l'indirizzo e-mail del destinatario. Sostituisci [email protected] con l'indirizzo email del destinatario. Questo comando dice al server SMTP che desideri inviare un'e-mail a quell'indirizzo del destinatario.
rcpt to: [email protected]
Il server risponde con un codice di stato 250 e un messaggio OK, indicando che l'indirizzo e-mail del destinatario è valido e il server funziona correttamente.
5. Infine, esci dalla sessione telnet digitando quit e premendo Invio.
quit
Il server risponde con un codice di stato 221 e un messaggio di addio, che indica che il server sta funzionando correttamente.
Conclusione
In questo articolo, hai imparato come installare Telnet su Linux. Hai anche imparato come utilizzare Telnet per verificare la presenza di porte aperte, controllare lo stato di un server SMTP ed eseguire una semplice conversazione con un server SMTP. Queste competenze saranno utili durante la risoluzione dei problemi di connettività del server.
Per sua natura, non dovresti avere Telnet in esecuzione sui tuoi server di produzione. Telnet è antico, per così dire, e ora equivale a un rischio per la sicurezza. Telnet non offre alcuna crittografia o autenticazione. Utilizza Telnet solo per test e risoluzione dei problemi.
Telnet ha alternative migliori e più sicure, come SSH per la gestione remota dei server o netcat
per testare la connettività di rete. Tuttavia, avere Telnet sotto la cintura è comunque una buona idea, poiché può essere utile in determinate situazioni.