GNU/Linux >> Linux Esercitazione >  >> Linux

19 comandi SSH comuni in Linux con esempi

Introduzione

SSH (Secure Shell) è un protocollo di rete che consente connessioni remote sicure tra due sistemi. Gli amministratori di sistema utilizzano le utilità SSH per gestire macchine, copiare o spostare file tra sistemi. Poiché SSH trasmette i dati su canali crittografati, la sicurezza è di alto livello.

Questo articolo ti guiderà attraverso i comandi SSH più popolari . L'elenco può anche fungere da cheat sheet e tornerà utile la prossima volta che dovrai completare un'attività.

Prerequisiti

  • Un cliente SSH a tua scelta
  • Un server SSH sulla macchina remota
  • L'indirizzo IP o il nome del server remoto

Come accedere a un server remoto

Per connettersi a una macchina remota, è necessario il suo indirizzo IP o nome. Carica il terminale o qualsiasi client SSH e digita ssh seguito dall'indirizzo IP:

ssh 192.168.56.101

o nome:

ssh test.server.com

La prima volta che ti connetti a un host, vedrai questo messaggio:

Digita e premi invio. Potrebbe essere necessario inserire anche la password.

Specificare un nome utente per la connessione SSH

SSH utilizza l'utente corrente quando accede a un server remoto. Per specificare un utente per una connessione SSH, esegui il comando in questo formato:

ssh [email protected]_or_ip

Ad esempio:

ssh [email protected]

Nota: Se riscontri l'errore "Connessione rifiutata", consulta la nostra guida SSH "Connessione rifiutata" per le soluzioni.

Utilizzare un numero di porta diverso per la connessione SSH

Per impostazione predefinita, il server SSH è in attesa di una connessione sulla porta 22. Se l'impostazione della porta nel file di configurazione SSH è stata modificata, dovrai specificare la porta. In caso contrario, riceverai questo errore:


Per connetterti a un host remoto con un numero di porta SSH personalizzato, utilizza il -p bandiera. Ad esempio:

ssh test.server.com -p 3322

Genera chiavi SSH utilizzando SSH Keygen

Per migliorare la sicurezza delle connessioni SSH, generare una coppia di chiavi con l'utilità keygen. La coppia è composta da una chiave pubblica e una privata. La chiave pubblica può essere condivisa, mentre la chiave privata deve essere protetta.

Le coppie di chiavi SSH vengono utilizzate per autenticare automaticamente i client sui server. Quando crei una coppia di chiavi SSH, non è più necessario inserire una password per accedere a un server.

Sul terminale della macchina host, usa questo comando per creare una coppia di chiavi:

ssh-keygen -t rsa

Per utilizzare le impostazioni predefinite, premi Invio nelle richieste di posizione del file e passphrase.

Copia chiave SSH pubblica

Per utilizzare la coppia di chiavi per l'autenticazione SSH, dovrai copiare la chiave pubblica su un server. La chiave è il file id_rsa.pub precedentemente creato con l'utilità keygen SSH.

Per copiare la tua chiave su un server, esegui questo comando dal client:

ssh-copy-id hostname_or_IP

Puoi anche specificare un nome utente se non desideri utilizzare l'utente corrente.

Immettere la password per autenticarsi quando richiesto. Dopodiché, non dovrai più utilizzare la password per connetterti allo stesso server.

Copia un file in remoto su SSH con SCP

Puoi copiare in modo sicuro i file tramite il protocollo SSH utilizzando SCP attrezzo. La sintassi di base è:

scp fileName [email protected]:/home/username/destination

Ad esempio, per copiare un file campione3 sul desktop su un server remoto con un nome utente test , digita:

scp sample3 [email protected]:/home/test/Desktop

L'output mostra un riepilogo dell'operazione.

Assicurati di utilizzare le lettere maiuscole -P flag se è necessario specificare la porta.

Modifica file di configurazione SSH

Puoi controllare come gli utenti remoti possono accedere a un server tramite SSH. Modifica le impostazioni in sshd_config per personalizzare le opzioni del server SSH. Assicurati di modificare solo le opzioni che conosci. Un server può diventare inaccessibile a causa di una configurazione errata.

Usa l'editor di tua scelta per modificare il file. Avrai bisogno delle autorizzazioni di superutente per apportare modifiche. In Linux, utilizziamo vim :

Nella riga di comando su un host remoto, digita:

sudo vim /etc/ssh/sshd_config

Inserisci la password sudo e la shell aprirà il file nell'editor che hai usato.

Riavvia il servizio SSH

Quando apporti modifiche alla configurazione SSH, dovrai riavviare il servizio in Linux.

A seconda della distribuzione Linux, esegui uno dei seguenti comandi sul computer in cui hai modificato le impostazioni:

sudo ssh service restart

oppure:

sudo sshd service restart

Infine, inserisci la password per completare il processo. Di conseguenza, la prossima sessione SSH utilizzerà le nuove impostazioni.

Comandi SSH di base

Lavorare su un server remoto utilizzando SSH richiede la conoscenza dei comandi SSH di base. Utilizzare i comandi e le opzioni in questo articolo per gestire un host remoto. Nota che puoi combinare i flag per ottenere l'output di cui hai bisogno.

Mostra percorso directory di lavoro

Usa il pwd comando per mostrare il percorso del file system.

L'output mostra la posizione della directory in cui ti trovi.

Elenca file e directory

Cambia directory

Per elencare il contenuto di una cartella di lavoro corrente, usa ls comando.

La shell mostrerà i nomi di tutte le directory, file e collegamenti. Per ottenere maggiori informazioni, aggiungi uno dei seguenti flag:

  • -a mostra i file e le voci Linux nascosti che iniziano con un punto.
  • -l mostra i dettagli del file per il contenuto della directory. Ad esempio, l'output include autorizzazioni, proprietà, data e così via
  • -s elenca la dimensione dei file, in blocchi. Aggiungi -h per mostrare la dimensione in un formato leggibile dall'uomo.

Per passare a una cartella specifica, utilizza il cd comando e un nome o percorso di una directory.

cd Desktop/Downloads/Sample

Ricorda che i nomi fanno distinzione tra maiuscole e minuscole. Usa cd senza nome o percorso per tornare alla home directory dell'utente.

Utile cd le opzioni includono:

  • cd .. vai alla directory un livello più alto della tua posizione attuale.
  • cd - passa alla directory precedente.
  • cd / vai alla directory principale.

Copia un file

Usa il cp comando per copiare un file o una directory. Dovrai includere il nome del file e la posizione di destinazione.

cp fileName /directory/path/destination

Per copiare file1 dal Desktop in Dir1 , digita:

cp file1 Dir1

Per cambiare il nome di file1 durante la copia in un'altra destinazione, utilizzare questo formato:

cp file1 Dir1/Newfile1Name

Questo comando copia file1 a Dir1 con un nome da te specificato.

Per copiare una directory e il suo contenuto, usa il flag -r in questo formato:

cp -r Directory1 NewLocation

Sposta un file

Il mv comando funziona allo stesso modo del comando copia.

Ad esempio, per spostare un file in un'altra posizione, digita:

mv fileName directory/path/destination

Crea un file

Il comando touch ti consente di creare un nuovo file con qualsiasi estensione.

Nel terminale, inserisci il seguente comando:

touch fileName

Ad esempio, per creare un system.log file, digita:

touch system.log

Crea una directory

Per creare una directory, usa mkdir comando. Immettere un nuovo nome di directory o un percorso completo in questo formato:

mkdir NewDirectoryName

Oppure:

mkdir directory/path/NewDirectoryName

Elimina un file o una directory

Per eliminare un file Linux , usa rm in questo formato:

rm fileName

Inoltre, puoi inserire un percorso completo:

rm /home/user/dir1/fileName

Per eliminare una directory , aggiungi il -r flag al comando rm.

Visualizza le informazioni sulla rete

Per visualizzare lo stato di tutte le schede di rete, utilizza ifconfig comando. Inoltre, quando non utilizzi alcuna opzione con ifconfig, l'output mostra solo le interfacce attive.

Cancella lo schermo del terminale

Per cancellare l'area di lavoro corrente della schermata bash, digita clear nel guscio. Questo comando cancella una porzione dello schermo e sposta l'output precedente.

Per rimuovere completamente l'output dal terminale, utilizzare il reset comando.

Esegui un comando su un server remoto da un computer locale

Questo metodo non crea una nuova shell. Al contrario, esegue un comando e riporta l'utente al prompt locale. Puoi creare un file, copiare file o eseguire qualsiasi altro comando SSH in questo formato.

Per eseguire in remoto un comando dalla macchina locale, aggiungere un'istruzione al comando SSH. Ad esempio, per eliminare un file, digita:

ssh test.server.com rm ~/Desktop/Dir1/sample4

Immettere la password e il file sul server remoto verrà eliminato senza creare una nuova shell.

Opzioni della riga di comando SSH

Lo strumento SSH viene fornito con molti opzionali parametri. La tabella seguente elenca le opzioni SSH comuni e le descrizioni corrispondenti.

Opzione SSH Descrizione
-1 Istruisce a ssh l'uso del protocollo versione 1
-2 Istruisce a ssh l'utilizzo del protocollo versione 2.
-4 Consente solo indirizzi IPv4.
-6 Consente solo indirizzi IPv6.
-A Abilita l'inoltro della connessione dell'agente di autenticazione. Usa questa opzione con cautela.
-a Disabilita l'inoltro della connessione dell'agente di autenticazione.
-b bind_address Utilizzare questa opzione sull'host locale con più di un indirizzo per impostare l'indirizzo di origine della connessione.
-C Abilita la compressione dei dati per tutti i file. Da utilizzare solo con connessioni lente.
-c spec_cifra Utilizzare per selezionare una specifica di cifratura. Elenca i valori separati da una virgola.
-E nomefile_log Allega i log di debug a log_file invece dell'errore standard.
-f Invia ssh in background, anche prima di inserire una password o una passphrase.
-g Consente agli host remoti di connettersi alle porte inoltrate su una macchina locale.
-q Esegue ssh in modalità silenziosa. Elimina la maggior parte dei messaggi di errore o di avviso.
-V Visualizza la versione dello strumento ssh ed esce.
-v Stampa i messaggi di debug per la connessione ssh. La modalità dettagliata è utile durante la risoluzione dei problemi di configurazione.
-X Usa questa opzione per abilitare l'inoltro X11.
-x Disabilita l'inoltro X11.

Linux
  1. Invia comandi a più sessioni SSH con Terminator

  2. Comandi Head and Tail in Linux spiegati con esempi

  3. Oltre 10 comandi VI Linux con esempi

  4. Comando JQ in Linux con esempi

  5. Come lavorare con il client SFTP in Linux – 10 comandi sftp

Comando IP Linux con esempi

15 Comando Linux ps con esempi

Comandi Nmap con esempi

Comandi RPM in Linux con esempi

Comandi SSH in Linux con esempi di utilizzo

Come gestire in remoto un server Linux con SSH