Se hai anche un po' di familiarità con SSH, sai che puoi usarlo per connetterti a sistemi Linux remoti.
Usare SSH per connettersi al sistema remoto è semplice. Tutto quello che devi fare è usare un comando come questo:
ssh [email protected]_IP
Questo si collega alla porta SSH predefinita 22. Puoi anche specificare la porta, se lo desideri.
Ora è tutto chiaro e semplice se hai solo un server. Anche se non ricordi l'indirizzo IP del server, puoi eseguire una ricerca inversa nella cronologia utilizzando la famosa scorciatoia da tastiera del terminale Ctrl+R e trovare il comando SSH che hai utilizzato in passato.
Ma le cose si complicano quando hai diversi server da gestire. Ho una decina di server a cui mi collego di tanto in tanto. Alcuni sono server di produzione e altri sono server di prova.
Ora tenere traccia di questi server non è facile. Anche se riesco a trovare i comandi SSH dalla cronologia, è difficile indovinare quale IP appartenga a quale server.
Ovviamente posso aprire le mie dashboard su Linode, UpCloud, DigitalOcean e Google Cloud per ottenere l'IP o mantenere un elenco sul mio sistema locale.
Un modo migliore e più semplice è utilizzare il file di configurazione SSH.
Utilizzo del file di configurazione SSH per connettersi facilmente a server remoti
Il file di configurazione SSH consente di creare profili diversi per diverse configurazioni host. Non c'è limite a tali profili e puoi aggiungerne il maggior numero possibile.
Quindi, se ti connetti a più sistemi remoti tramite SSH, la creazione di profili SSH sarà una buona mossa per risparmiare tempo.
Lascia che ti mostri come usarlo.
Fase 1:crea il file di configurazione SSH
Quando installi SSH, avrai una directory ~/.ssh creata automaticamente. Questa diretta contiene la tua chiave pubblica, la chiave privata un file known_hosts. Anche la tua configurazione è archiviata qui.
Almeno su Ubuntu, il file di configurazione SSH non viene creato per impostazione predefinita. Puoi facilmente creare questo file usando il comando touch in questo modo:
touch ~/.ssh/config
Fase 2:aggiungi un profilo SSH nel file di configurazione
Ora che hai il file di configurazione SSH, puoi modificarlo usando Vim o Nano. Lascia che ti mostri un esempio della sintassi che dovresti seguire.
Diciamo che ti connetti a un server con IP 275.128.172.46. Il tuo nome utente è Alice e il server viene utilizzato per ospitare il tuo sito web. Per rafforzare la sicurezza SSH, utilizzi la porta 1500 invece della porta SSH predefinita 22.
Puoi aggiungere tutte queste informazioni nel modo seguente nel tuo file ~/.ssh/config:
Host website
Hostname 275.128.172.46
User alice
Port 1500
Basta salvare le informazioni nel file. Non è necessario riavviare alcun servizio.
Ora, invece di scrivere un comando lungo come questo:
ssh [email protected] -p 1500
Puoi semplicemente usare questo comando (funziona anche il completamento delle schede):
ssh website
Quando esegui il comando precedente, ssh cerca un sito Web denominato Host in ~/.ssh/config. Se trova un host con quel nome, ottiene tutte le informazioni relative e le utilizza per creare una connessione SSH.
Potresti chiederti alcune cose, quindi te ne parlerò qui:
- Non ci sono restrizioni per lo spazio o il rientro delle tabulazioni durante l'immissione delle informazioni sull'host. Lo spazio o il rientro di tabulazione sono usati per rendere il file di configurazione facilmente comprensibile.
- Il nome host può essere l'indirizzo IP del server o un nome host che può essere risolto sulla tua rete.
- Tutti i parametri come nome host, utente e porta sono opzionali. Tuttavia, personalmente consiglio di mantenere almeno il nome host perché è ciò di cui hai bisogno (e dimentichi) la maggior parte del tempo.
- Se il file di configurazione SSH è configurato in modo errato, si verificherà un errore quando si tenta di utilizzarlo per la connessione SSH.
- Non è possibile salvare le password nella configurazione SSH. Ti consiglio di aggiungere la tua chiave SSH pubblica al server per un facile accesso.
Passaggio 3:aggiunta di più profili nel file di configurazione SSH
Il passaggio precedente ti ha dato un'idea su come aggiungere un profilo SSH. Andiamo al passaggio successivo aggiungendo più profili al suo interno.
Ecco come appare ora il file di configurazione SSH:
Host website
Hostname 275.128.172.46
User alice
Port 1500
Host forum-server
Hostname 275.128.172.47
User alice
Host main-server
Hostname 275.128.172.49
Host common-test-server
Hostname test-server
Host *
User root
Questa volta, ho aggiunto quattro diversi profili SSH.
Hai notato l'Host * voce alla fine del file? Puoi utilizzare questa voce per aggiungere un parametro comune a tutti i profili se tale parametro non è stato menzionato esplicitamente per il profilo.
Quindi, se provo a utilizzare il profilo SSH del server principale, prenderà automaticamente l'utente root.
server-principale ssh =esempio [email protected]
Ordine della configurazione SSH
La configurazione ssh segue il seguente ordine:
- Opzioni della riga di comando
- file di configurazione dell'utente (~/.ssh/config)
- file di configurazione a livello di sistema (/etc/ssh/ssh_config)
Ciò significa che viene data la priorità al comando immesso e quindi cerca in ~/.ssh/config e quindi in /etc/ssh/ssh_config.
Quindi, se vuoi sovrascrivere un profilo, puoi farlo usando l'opzione -o del comando ssh.
Ad esempio, se utilizzo questo comando:
ssh -o "User=bob" website
Ci vorrà l'utente bob invece dell'utente alice come definito in ~/.ssh/config (nel passaggio precedente).
C'è molto di più nella configurazione SSH
Ad essere onesti, c'è molto di più nel file di configurazione SSH che non può essere trattato in un singolo articolo. Puoi utilizzare la corrispondenza nome/IP, sottoreti e altro.
Lo scopo di questo articolo era di presentarti alla configurazione SSH e aiutarti a creare profili SSH per connetterti facilmente a vari sistemi Linux remoti.
Puoi sempre fare riferimento alla pagina man di ssh_config per saperne di più sui parametri che puoi utilizzare durante la creazione del tuo file di configurazione SSH.
Spero che questo suggerimento SSH ti sia stato utile. Se utilizzi già il file di configurazione SSH e hai qualche consiglio ingegnoso con te, condividilo con il resto di noi nella sezione commenti.