Se accedi frequentemente a molti sistemi remoti diversi tramite SSH, questo trucco ti farà risparmiare tempo. È possibile creare alias SSH per i sistemi ad accesso frequente tramite SSH. In questo modo non è necessario ricordare tutti i diversi nomi utente, nomi host, numeri di porta ssh e indirizzi IP ecc. Inoltre, evita la necessità di digitare ripetutamente lo stesso nome utente/nome host, indirizzo IP, numero di porta ogni volta che si esegue SSH in un server Linux ( s).
Crea alias SSH in Linux
Prima di conoscere questo trucco, di solito, mi collego a un sistema remoto tramite SSH utilizzando uno dei seguenti modi.
Utilizzo dell'indirizzo IP:
$ ssh 192.168.225.22
Oppure utilizzando il numero di porta, il nome utente e l'indirizzo IP:
$ ssh -p 22 [email protected]
Oppure utilizzando il numero di porta, il nome utente e il nome host:
$ ssh -p 22 [email protected]
Ecco,
22
è il numero di porta,sk
è il nome utente del sistema remoto,192.168.225.22
è l'IP del mio sistema remoto,server.example.com
è il nome host del sistema remoto.
Credo che la maggior parte degli utenti e/o amministratori Linux principianti farebbero SSH in un sistema remoto in questo modo. Tuttavia, se esegui SSH in più sistemi diversi, ricordando tutti i nomi host/indirizzi IP, i nomi utente è un po' difficile a meno che non li scrivi su un foglio o li salvi in un file di testo. Nessun problema! Questo può essere facilmente risolto creando un alias (o collegamento) per le connessioni SSH.
Possiamo creare un alias per i comandi SSH in due metodi.
Metodo 1:utilizzo del file di configurazione SSH
Questo è il mio modo preferito per creare alias.
Possiamo utilizzare il file di configurazione predefinito SSH per creare alias SSH. Per farlo, modifica ~/.ssh/config
file (se questo file non esiste, creane uno):
$ vi ~/.ssh/config
Aggiungi tutti i dettagli dei tuoi host remoti come di seguito:
Host webserver HostName 192.168.225.22 User sk Host dns HostName server.example.com User root Host dhcp HostName 192.168.225.25 User ostechnix Port 2233
Sostituisci i valori di Host
, Hostname
, User
e Port
con il tuo. Dopo aver aggiunto i dettagli di tutti gli host remoti, salva ed esci dal file.
Ora puoi SSH nei sistemi con i comandi:
$ ssh webserver
$ ssh dns
$ ssh dhcp
È così semplice.
Dai un'occhiata allo screenshot seguente.
Vedere? Ho usato solo il nome alias (ovvero server web ) per accedere al mio sistema remoto con indirizzo IP 192.168.225.22 .
Si prega di notare che questo vale solo per l'utente corrente. Se vuoi rendere gli alias disponibili per tutti gli utenti (a livello di sistema), aggiungi le righe precedenti in /etc/ssh/ssh_config
file.
Puoi anche aggiungere molte altre cose nel file di configurazione SSH. Ad esempio, se hai configurato l'autenticazione basata su chiave SSH , menziona la posizione del file di chiavi SSH come di seguito.
Host ubuntu HostName 192.168.225.50 User senthil IdentityFIle ~/.ssh/id_rsa_remotesystem
Assicurati di aver sostituito il nome host, il nome utente e il percorso del file di chiavi SSH con il tuo.
Ora connettiti al server remoto con il comando:
$ ssh ubuntu
In questo modo puoi aggiungere tutti gli host remoti a cui desideri accedere tramite SSH e accedervi rapidamente utilizzando il loro nome alias.
Metodo 2:utilizzo degli alias Bash
Questo è un modo rapido e sporco per creare alias SSH per una comunicazione più veloce. Puoi utilizzare il comando alias per rendere questo compito molto più semplice.
Apri ~/.bashrc
o ~/.bash_profile
file:
Aggiungi gli alias per ciascuna connessione SSH uno per uno come di seguito.
alias webserver='ssh [email protected]' alias dns='ssh [email protected]' alias dhcp='ssh [email protected] -p 2233' alias ubuntu='ssh [email protected] -i ~/.ssh/id_rsa_remotesystem'
Ancora una volta assicurati di aver sostituito l'host, il nome host, il numero di porta e l'indirizzo IP con il tuo. Salva il file ed esci.
Quindi, applica le modifiche utilizzando il comando:
$ source ~/.bashrc
Oppure,
$ source ~/.bash_profile
Con questo metodo, non hai nemmeno bisogno di usare "ssh alias-name"
comando. Invece, usa solo il nome alias come di seguito.
$ webserver $ dns $ dhcp $ ubuntu
Questi due metodi sono molto semplici, ma utili e molto più convenienti per coloro che spesso utilizzano SSH in più sistemi diversi. Usa uno dei metodi sopra menzionati adatto a te per accedere rapidamente ai tuoi sistemi Linux remoti tramite SSH.
Lettura consigliata:
- Consenti o nega l'accesso SSH a un particolare utente o gruppo in Linux
- Come inserire SSH in una directory particolare su Linux
- Come impedire la disconnessione della sessione SSH in Linux
- 4 modi per mantenere in esecuzione un comando dopo che ti sei disconnesso dalla sessione SSH
- SSLH:condividi una stessa porta per HTTPS e SSH
- Come scoprire se un utente utilizza l'autenticazione SSH basata su password o chiave in Linux