Il protocollo Secure Shell è un modo comune per connettersi con una macchina remota tramite applicazioni client/server. Si avvale di un set di strumenti come ssh, scp e sftp, tra molti altri, per garantire un processo di autenticazione sicuro e la successiva comunicazione crittografata. Per questo motivo, questi strumenti sostituiscono altri vecchi set di strumenti per l'esecuzione di comandi remoti come telnet, rcp e rlogin.
In questa guida imparerai come installare e abilitare i servizi server/client OpenSSH nella tua macchina. Copre anche tutti i comandi necessari (strumenti SSH) per accedere e gestire in remoto i sistemi e trasferire file nel mezzo.
Iniziare con SSH
Per impostazione predefinita, la maggior parte dei sistemi Linux include le applicazioni client e server ssh. I pacchetti che includono strumenti ssh nelle distribuzioni RHEL e Fedora sono openssh, openssh-server e openssh-client. Utilizzare il grep comando per recuperare gli strumenti ssh dall'elenco installato:
lista yum installata | grep si apre
Mentre Ubuntu include solo un pacchetto openssh-client che contiene anche un pacchetto openssh. Usa il comando grep per elencare i pacchetti openssh in Ubuntu, come segue:
sudo dpkg --list | grep si apre
sudo apt-get install openssh-server
Avvia/Abilita il servizio SSH
La gestione del servizio openssh può variare da distribuzione a distribuzione e, indipendentemente dalle configurazioni predefinite, non si avvia automaticamente. Usa il seguente set di comandi per assicurarti che il servizio sia attivo e funzionante sul tuo computer Linux:
stato systemctl sshd.service #per Fedora e RHEL
stato systemctl ssh #per Ubuntu
Se non è in esecuzione, controlla lo stato del servizio come segue:
systemctl avvia sshd.service #per Fedora e RHEL
systemctl ssh start #per Ubuntu
Per avviare il server openssh non appena il sistema si avvia:
systemctl abilita sshd.service
systemctl ssh abilita
Tra molti altri strumenti da utilizzare protocollo SSH per l'accesso remoto al sistema Linux, i più usati sono il comando ssh per il codice remoto esecuzione e login, dove scp e rsync sono utili per copiare uno o più file tra il client e server.
La sezione tratta in modo approfondito i comandi sopra discussi per una gestione remota efficiente.
Accesso remoto
SSH è il comando che utilizzerai più spesso per la configurazione remota del tuo server Linux che esegue il servizio sshd. Usa il comando ssh per verificare se puoi accedere al tuo server Linux per l'esecuzione del comando.
Puoi usare un'altra macchina Linux per accedere al tuo server, oppure puoi fartene un'idea simulandola sul tuo localhost come segue:
Per l'accesso remoto a un account Ubuntu su X.X.X.X (dove X.X.X.X è l'indirizzo IP del dispositivo remoto):
ssh [email protected]
Per l'accesso remoto come utente locale:
ssh localhost
Se stai accedendo per la prima volta al server remoto, ti verrà richiesta la conferma per connetterti al sistema, inserisci sì e digitare la password dell'account utente.
Dopo la registrazione, puoi continuare con l'esecuzione del comando remoto poiché è simile al normale login, con l'unica differenza che la comunicazione remota è crittografata.
Una volta fatto, digita il Uscita comando per terminare la sessione e tornare al sistema locale. Se non riesce a chiudere la shell remota il ~. anche i tasti svolgono un'attività simile e producono "Connessione a X.X.X.X chiusa".
Esecuzione remota
Il comando ssh consente l'esecuzione di comandi sul sistema remoto e restituisce l'output sulla macchina locale. Ad esempio,
Il seguente comando viene eseguito come utente ubuntu sul server remoto e restituisce il Nome host:
ssh [email protected] nome host
Per eseguire un comando che include opzioni o flag, racchiudilo tra virgolette come segue:
ssh [email protected] "cat /tmp/nuovo_file"
Il comando precedente restituisce il contenuto del file precedente sullo schermo locale.
Puoi anche eseguire più comandi senza riconnetterti ogni volta abilitando l'inoltro X11 sul tuo server. Apri il sshd_config file all'interno /etc/ssh directory e impostare Inoltro X11 a sì come segue:
Ora esegui i comandi come segue:
ssh -X [email protected] hostname & cat /tmp/new_file/ & exit
Copia file tramite scp e rsync
Il scp comando consente di trasferire/copiare file dal sistema remoto al sistema locale e viceversa. La sua funzionalità è simile al comando rcp ma con comunicazione crittografata RSA. Seguono alcuni esempi.
Copia il file dal /etc/demo directory della macchina remota alla sua /tmp cartella come segue:
scp [email protected]:/home/ubuntu/demo/file /tmp
Ciò consente anche la copia ricorsiva, il che significa che è possibile fornire al comando una directory e copia tutti i file/cartelle lungo la gerarchia in un'altra directory locale.
scp -r localhost:/home/ubuntu/ /tmp
Puoi anche utilizzare il comando scp per il backup di file e directory, ma rsync è un'utilità di backup migliore per diversi motivi:
- scp non è in grado di conservare i permessi di file/directory e l'ora/data.
- Inoltre, non è in grado di identificare file e directory già copiati.
Ora elenca il contenuto delle directory sopra per visualizzare i permessi del file e l'ora di creazione, come segue:
ls -l /etc/demo /tmp/demo
Ripeti il comando scp sopra ed elenca nuovamente le directory per verificare se sostituisce i file/le directory già copiati dal suo timestamp:
Imparentato:Copia sicura dei file in Linux con il comando Scp
Il -p bandiera per il comando scp può aiutare a preservare il timestamp o i permessi di scrittura, ma sostituisce comunque i file già copiati. Per superare queste carenze, usa rsync come strumento di backup. Elimina prima i file in /tmp directory per continuare con l'esempio seguente. Usa il comando rsync con -un bandiera per l'archiviazione ricorsiva e il -v opzione per verbose per copiare il /home/ubuntu/demo file al /tmp directory, come segue:
rsync -av [email protected]:/home/ubuntu/demo /tmp
Elenca i /tmp directory per notare come conserva il tempo di creazione del file o della directory.
Infine, riesegui il rsync comando per verificare che non copi alcun file.
Conoscere SSH
L'articolo è una guida per il protocollo più utilizzato per la gestione remota dei server Linux. Mostriamo come utilizzare i comandi SSH più importanti con alcuni suggerimenti e trucchi per facilitare l'attività di copia e gestione dei file.
Iniziare a comprendere i comandi/strumenti SSH e la loro funzionalità può cambiare la tua visione della gestione del sistema/server in quanto sblocca le capacità non solo di SSH ma anche del terminale Linux. Si tratta di uno strumento potente che offre una notevole sicurezza, insieme a ulteriori funzionalità troppo avanzate per essere trattate in un'unica guida.
Scopri come risparmiare tempo nella gestione dei server remoti con questi comandi SSH e Linux.
Leggi Avanti
- Linux
- SSH
- Accesso remoto

Rumaisa è una scrittrice freelance al MUO. Ha percorso una lunga strada da matematico a appassionato di sicurezza delle informazioni e sta lavorando come analista SOC. I suoi interessi includono la lettura e la scrittura di nuove tecnologie, distribuzioni Linux e tutto ciò che riguarda la sicurezza delle informazioni.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti