Differences between revisions 29 and 32 (spanning 3 versions)
Revision 29 as of 2020-04-10 11:23:40
Size: 18761
Comment: sync with English master v.92
Revision 32 as of 2021-10-21 14:37:43
Size: 19364
Comment: sync with English master v.99
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[de/SSH|Deutsch]] - [[SSH|English]] - [[es/SSH|Español]] - [[fr/SSH|Français]] - Italiano - [[pt_BR/SSH|Português Brasileiro]] -~ <<Include(SSH, ,from="^##TAG:TRANSLATION-HEADER-START",to="^##TAG:TRANSLATION-HEADER-END")>>
Line 10: Line 10:
SSH sta per '''S'''ecure '''Sh'''ell ed è un protocollo per login remoto sicuro e altri servizi di rete sicuri su reti non sicure<<FootNote(https://tools.ietf.org/html/rfc4252)>>. Vedere [[WikiPedia:Secure_Shell|Secure Shell su Wikipedia]] per maggiori informazioni generiche e DebPkg:ssh, DebPkg:lsh-client o DebPkg:dropbear per implementazioni software, di cui [[http://www.openssh.org/|OpenSSH]] è il più popolare e utilizzato<<FootNote(http://www.openssh.org/users.html)>>. SSH rimpiazza i protocolli non cifrati [[WikiPedia:telnet|telnet]], [[WikiPedia:Rlogin|rlogin]] e [[WikiPedia:Remote_shell|rsh]] e apporta molte funzionalità. SSH sta per '''S'''ecure '''Sh'''ell ed è un protocollo per login remoto sicuro e altri servizi di rete sicuri su reti non sicure<<FootNote(https://tools.ietf.org/html/rfc4252)>>. Vedere [[WikiPedia:Secure_Shell|Secure Shell su Wikipedia]] per maggiori informazioni generiche e DebPkg:ssh, DebPkg:lsh-client o DebPkg:dropbear per implementazioni software, di cui [[https://www.openssh.com/|OpenSSH]] è il più popolare e utilizzato<<FootNote(https://www.openssh.com/users.html)>>. SSH rimpiazza i protocolli non cifrati [[WikiPedia:telnet|telnet]], [[WikiPedia:Rlogin|rlogin]] e [[WikiPedia:Remote_shell|rsh]] e apporta molte funzionalità.
Line 26: Line 26:
apt-get install openssh-client apt install openssh-client
Line 34: Line 34:
apt-get install openssh-server apt install openssh-server
Line 44: Line 44:
In aggiunta questa directory contiene le coppie di chiavi private/pubbliche che identificano l'host: A partire da Bullseye, i file di configurazione sono letti anche dalle seguenti sottodirectory:

 * '''/etc/ssh/ssh_config.d/*.conf''' : file di configurazione del client
 * '''/etc/ssh/sshd_config.d/*.conf''' : file di configurazione del server

Essi sono stati abilitati con il parametro '''Include''' in ssh_config e sshd_confg. Fare le modifiche locali usando queste directory può facilitare la gestione della configurazione ed evitare problemi con aggiornamenti che possono fare modifiche ai file di configurazione gestiti dai pacchetti.

In aggiunta la directory ''/etc/ssh'' contiene le coppie di chiavi private/pubbliche
Line 51: Line 58:
A partire da OpenSSH 5.7<<FootNote(http://openbsd.das.ufsc.br/openssh/txt/release-5.7)>>, è disponibile una nuova coppia di chiavi pubblica/privata: A partire da OpenSSH 5.7<<FootNote(https://www.openssh.com/txt/release-5.7)>>, è disponibile una nuova coppia di chiavi pubblica/privata:
Line 127: Line 134:
 * Considerare l'uso di DebPkg:fail2ban che è uno strumento di monitoraggio dei file di log che mette al bando automaticamente un indirizzo IP dopo un numero predefinito di tentativi di login falliti. Questo automaticamente protegge da [[https://en.wikipedia.org/wiki/Brute-force_attack|attacchi a forza bruta]].
 * Altre buone norme d'uso per SSH sono disponibili su http://lackof.org/taggart/hacking/ssh/
 * Considerare l'uso di DebPkg:fail2ban che è uno strumento di monitoraggio dei file di log che mette al bando automaticamente un indirizzo IP dopo un numero predefinito di tentativi di login falliti. Questo automaticamente protegge da [[WikiPedia:Brute-force_attack|attacchi a forza bruta]].
 * Altre buone norme d'uso per SSH sono disponibili su https://lackof.org/taggart/hacking/ssh/
Line 144: Line 151:
Si possono elencare le attuali impostazioni del proprio sshd con il comando seguente:

{{{
sshd -T | sort
}}}
Line 195: Line 208:
''ssh-agent'' è un'applicazione utile per gestire le chiavi private e le loro passphrase. La maggior parte degli ambienti desktop in Debian sono già configurati per eseguire ssh-agent (attraverso /etc/X11/Xsession), perciò non dovrebbe essere necessario avviarlo manualmente. ''ssh-agent'' è un'applicazione utile per gestire le chiavi private e le loro passphrase. La maggior parte degli ambienti desktop in Debian sono già configurati per eseguire ssh-agent (attraverso i servizi utente di systemd o /etc/X11/Xsession), perciò non dovrebbe essere necessario avviarlo manualmente.
Line 215: Line 228:
[[http://www.funtoo.org/Keychain|Keychain]], fornito dal pacchetto DebianPkg:keychain, è uno script di shell che permette di usare l'agente ssh in sessioni multiple sullo stesso computer. Di fatto, dopo il primo avvio ssh-agent crea un socket permanente che permette la comunicazione con ssh. Questo socket è referenziato solo nell'ambiente della sessione in cui l'agente è stato avviato. Keychain permette di rilevare l'agente e propagare l'accesso a tale agente ad altre sessioni: ciò permette di usare su una macchina una singola istanza di ssh-agent per utente. [[https://www.funtoo.org/Keychain|Keychain]], fornito dal pacchetto DebianPkg:keychain, è uno script di shell che permette di usare l'agente ssh in sessioni multiple sullo stesso computer. Di fatto, dopo il primo avvio ssh-agent crea un socket permanente che permette la comunicazione con ssh. Questo socket è referenziato solo nell'ambiente della sessione in cui l'agente è stato avviato. Keychain permette di rilevare l'agente e propagare l'accesso a tale agente ad altre sessioni: ciò permette di usare su una macchina una singola istanza di ssh-agent per utente.
Line 239: Line 252:
 * [[http://www.chiark.greenend.org.uk/~sgtatham/putty/|PuTTY]] è un'applicazione per [[it/TerminalEmulator|emulatore di terminale]] che può agire da client per ssh. È largamente usata dagli utenti Windows.  * [[https://www.chiark.greenend.org.uk/~sgtatham/putty/|PuTTY]] è un'applicazione per [[it/TerminalEmulator|emulatore di terminale]] che può agire da client per ssh. È largamente usata dagli utenti Windows.
Line 244: Line 257:
Si '''deve''' leggere questo documento: http://lackof.org/taggart/hacking/ssh/ Si '''deve''' leggere questo documento: https://lackof.org/taggart/hacking/ssh/
Line 264: Line 277:
Vedere anche [[DebianBug:732940|la segnalazione di bug]]. Vedere anche il [[DebianBug:732940|bug n.732940]].
Line 306: Line 319:
 /!\ '''ATTENZIONE:''' è suggerito l'uso dell'[[#Resolution_with_IPQoS_0x00|altra soluzione con IPQoS 0x00]] invece dell'uso dell'opzione netcat/'''''{{{ProxyCommand nc %h %p}}}''''' perché '''''{{{IPQoS 0x00}}}''''' è l'opzione incorporata ufficiale di OpenSSH. Inoltre '''''{{{IPQoS 0x00}}}''''' è un modo più diretto di risolvere il problema e potenzialmente è un'opzione più sicura, dato che '''''{{{IPQoS 0x00}}}''''' usa la cifratura incorporata di SSH per i trasferimenti sicuri. Confrontarlo con i trasferimenti ''non'' cifrati di netcat. Fonti: [[http://nc110.sourceforge.net/|1]] [[https://www.ndchost.com/wiki/server-administration/netcat-over-ssh#using-dd-over-netcat|2]].Se si sceglie di usare l'opzione netcat/'''''{{{ProxyCommand nc %h %p}}}''''' proseguire con la lettura.  /!\ '''ATTENZIONE:''' è suggerito l'uso dell'[[#Resolution_with_IPQoS_0x00|altra soluzione con IPQoS 0x00]] invece dell'uso dell'opzione netcat/'''''{{{ProxyCommand nc %h %p}}}''''' perché '''''{{{IPQoS 0x00}}}''''' è l'opzione incorporata ufficiale di OpenSSH. Inoltre '''''{{{IPQoS 0x00}}}''''' è un modo più diretto di risolvere il problema e potenzialmente è un'opzione più sicura, dato che '''''{{{IPQoS 0x00}}}''''' usa la cifratura incorporata di SSH per i trasferimenti sicuri. Confrontarlo con i trasferimenti ''non'' cifrati di netcat. Fonti: [[https://nc110.sourceforge.io/|1]] [[https://www.ndchost.com/wiki/server-administration/netcat-over-ssh#using-dd-over-netcat|2]].Se si sceglie di usare l'opzione netcat/'''''{{{ProxyCommand nc %h %p}}}''''' proseguire con la lettura.
Line 321: Line 334:
 1. Sul server SSH modificare il file "''/etc/ssh/sshd_config''"
1. Aggiungere quanto segue in fondo a tale file {{{
Sul server SSH modificare il file {{{/etc/ssh/sshd_config}}} e aggiungervi in fondo quanto segue:

{{{
Line 329: Line 343:
 1. Come utente root riavviare il servizio SSH {{{
Come utente {{{root}}} riavviare il servizio SSH

{{{
Line 332: Line 349:
 Notare che sui sistemi Debian recenti (es. Wheezy 7 aggiornata al novembre 2015), il comando descritto sopra non funziona più e restituisce l'errore: {{{

Notare che sui sistemi Debian recenti (es. Wheezy 7 aggiornata al novembre 2015), il comando descritto sopra non funziona più e restituisce l'errore:

{{{
Line 335: Line 354:
sshd: unrecognized service}}}

 Tuttavia questo funziona:{{{
sshd: unrecognized service
}}}

Tuttavia questo funziona:

{{{
Line 341: Line 362:
Line 347: Line 367:
 * DebianPkg:tmux - multiplexer per terminale alternativo

DaFare(vedi originale inglese): unire (e tradurre) questa pagina e quella in francese che è più completa.

Introduzione

SSH sta per Secure Shell ed è un protocollo per login remoto sicuro e altri servizi di rete sicuri su reti non sicure1. Vedere Secure Shell su Wikipedia per maggiori informazioni generiche e ssh, lsh-client o dropbear per implementazioni software, di cui OpenSSH è il più popolare e utilizzato2. SSH rimpiazza i protocolli non cifrati telnet, rlogin e rsh e apporta molte funzionalità.

In questo documento verrà usata la suite OpenSSH, si presume che siano definite le seguenti due variabili:

remote_host=<il computer remoto>
remote_user=<il nome utente su $remote_host>

Perciò, se si desiderano usare le indicazioni fornite più avanti, come prima cosa impostare queste variabili con il nome del computer remoto e il nome utente su quel computer remoto. Poi i comandi indicati in seguito potranno essere copiati e incollati con successo. remote_host può anche essere un indirizzo IP.

Installazione

Installazione del client

Normalmente il client viene installato in modo predefinito. Se ciò non accadesse, eseguire come root:

apt install openssh-client

Installazione del server

Il server permette di connettersi da remoto e si installa eseguendo da root:

apt install openssh-server

File di configurazione

I principali file di configurazione sono nella directory /etc/ssh :

  • ssh_config : file di configurazione del client

  • sshd_config : file di configurazione del server

A partire da Bullseye, i file di configurazione sono letti anche dalle seguenti sottodirectory:

  • /etc/ssh/ssh_config.d/*.conf : file di configurazione del client

  • /etc/ssh/sshd_config.d/*.conf : file di configurazione del server

Essi sono stati abilitati con il parametro Include in ssh_config e sshd_confg. Fare le modifiche locali usando queste directory può facilitare la gestione della configurazione ed evitare problemi con aggiornamenti che possono fare modifiche ai file di configurazione gestiti dai pacchetti.

In aggiunta la directory /etc/ssh contiene le coppie di chiavi private/pubbliche

  • ssh_host_dsa_key
  • ssh_host_dsa_key.pub
  • ssh_host_rsa_key
  • ssh_host_rsa_key.pub

A partire da OpenSSH 5.73, è disponibile una nuova coppia di chiavi pubblica/privata:

  • ssh_host_ecdsa_key
  • ssh_host_ecdsa_key.pub

A partire da OpenSSH 6.54, è disponibile una nuova coppia di chiavi pubblica/privata:

  • ssh_host_ed25519_key
  • ssh_host_ed25519_key.pub

Rigenerare le chiavi dell'host

rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server

Login remoto

Con password

Se si desidera fare il login su $remote_host come utente $remote_user digitare semplicemente

ssh $remote_user@$remote_host

e inserire la password. Se il nome utente remoto è uguale a quello locale, si può omettere la parte $remote_user@ e scrivere solamente

ssh $remote_host

Se questa è la prima volta che si fa il login sul computer remoto, ssh chiede se si è certi di volersi connettere. Rispondere "sì" dopo aver verificato il fingerprint e poi inserire la propria password, e ssh effettua il login remoto.

Usando chiavi condivise

Una delle funzioni di ssh è l'uso di una coppia di chiavi privata/pubblica per connettersi ad un host remoto, note anche come chiavi SSH. Questo metodo permette il login ad un host remoto senza dover digitare ogni volta la propria password. Per farlo è necessario generare una coppia di chiavi privata/pubblica sulla macchina locale e depositare la chiave pubblica sull'host remoto.

Per generare la chiave si usa il programma ssh-keygen

ssh-keygen -t rsa

Questo programma genera una coppia di chiavi privata/pubblica nella directory ~/.ssh. Il programma chiede prima i file di destinazione per le chiavi, che sono in modo predefinito posizionati in ~/.ssh. Successivamente viene richiesta una passphrase.

Nota bene: è raccomandato di non lasciare la passphrase vuota. Un autore di un attacco che riuscisse ad ottenere la chiave privata potrebbe altrimenti connettersi agli host dove è stata depositata la chiave pubblica dato che la passphrase è vuota. Scegliere una passphrase lunga e complessa.

La chiave privata è id_rsa (non darla a nessun altro), la chiave pubblica è id_rsa.pub.

Si può copiare la propria chiave pubblica su un host remoto usando il comando ssh-copy-id

ssh-copy-id -i ~/.ssh/id_rsa.pub $remote_user@$remote_host

Ora ci si può connettere semplicemente all'host remoto e verrà richiesta la passphase. Una volta inserita si è connessi all'host remoto. In caso di una nuova connessione la passphrase non viene più richiesta per tutta l'intera sessione.

Gestione delle chiavi

Usando una GUI

seahorse è un'applicazione GNOME che opzionalmente può facilmente gestire chiavi e password di cifratura attraverso un'intuitiva interfaccia utente grafica (GUI). Seahorse può fare varie operazioni, come creare chiavi SSH o PGP, configurarle e metterle in cache (Ulteriori informazioni).

Garantire la sicurezza

SSH Server

Un server SSH è in modo predefinito relativamente sicuro. Con l'aiuto di alcune buone norme d'uso, opzioni di configurazione e utilità esterne è possibile renderlo ancora più ostico per i robot e gli autori di attacchi (cracker).

Buone norme d'uso con server SSH

Opzioni di configurazione

(!) Si dovrebbe modificare il file /etc/ssh/sshd_config per cambiare i parametri e poi riavviare il server ssh con

service ssh restart
  • Deattivare l'uso delle password per l'autenticazione (PasswordAuthentication no).

  • Deattivare l'uso dell'account root (PermitRootLogin no).

  • Permettere solamente il login da parte di utenti o gruppi specifici (AllowUsers e AllowGroups)

{i} Le opzioni AllowUsers e AllowGroups non migliorano la sicurezza di un server SSH. Ma, in alcuni casi, il loro uso permette di resistere un po' più a lungo ad attacchi con forza bruta.

Si possono elencare le attuali impostazioni del proprio sshd con il comando seguente:

sshd -T | sort

Utilità esterne

  • fail2ban : permette, con l'aiuto di iptables, di mettere automaticamente in una lista nera gli IP che cercano di attaccare un server SSH con la "forza bruta".

  • denyhosts : come fail2ban, denyhosts permette di bloccare indirizzi IP che cercano di attaccare con la forza bruta una connessione a ssh. A differenza di fail2ban però, non usa iptables, ma il file /etc/hosts.deny.

Client SSH

Buone norme d'uso con client SSH

Funzioni aggiuntive

Visualizzazione di file in una GUI

Nei gestori di file come Konqueror, Dolphin, Krusader e Midnight Commander si può usare FISH per visualizzare file in una GUI usando:

fish://nome_utente@nome_server_O_ip

Comandi aggiuntivi

scp

scp è un'utilità a riga di comando che permette di trasferire file tra due macchine.

  • Invio di un file:

scp $file_sorgente $utente_remoto@$host_remoto:$file_destinazione
  • Copia di un file nella macchina locale:

scp $utente_remoto@$host_remoto:$file_sorgente $file_destinazione

sftp

[da scrivere in futuro]

text mode

[da scrivere in futuro]

graphical mode

[da scrivere in futuro]

clusterssh

[da scrivere in futuro]

ssh-agent e ssh-add

ssh-agent è un'applicazione utile per gestire le chiavi private e le loro passphrase. La maggior parte degli ambienti desktop in Debian sono già configurati per eseguire ssh-agent (attraverso i servizi utente di systemd o /etc/X11/Xsession), perciò non dovrebbe essere necessario avviarlo manualmente.

# Controllare se ssh-agent e' in esecuzione
env | grep -i ssh

È ancora necessario dire all'agente di gestire le proprie chiavi.

# Elencare le chiavi gestite dall'agente
ssh-add -l
# Aggiungere la propria chiave ssh
ssh-add ~/.ssh/your_private_key

Quando una chiave privata è necessaria per la prima volta, viene chiesta all'utente la sua passphrase. ssh-agent la ricorda in modo che non sia più necessario richiederla.

Portachiavi

Keychain, fornito dal pacchetto keychain, è uno script di shell che permette di usare l'agente ssh in sessioni multiple sullo stesso computer. Di fatto, dopo il primo avvio ssh-agent crea un socket permanente che permette la comunicazione con ssh. Questo socket è referenziato solo nell'ambiente della sessione in cui l'agente è stato avviato. Keychain permette di rilevare l'agente e propagare l'accesso a tale agente ad altre sessioni: ciò permette di usare su una macchina una singola istanza di ssh-agent per utente.

ssh-askpass

ssh-askpass è un'utilità per semplificare il processo di richiesta della password di una chiave privata quando essa viene usata. Esistono diverse implementazioni:

  • x11-ssh-askpass: versione per X11

  • kaskpass: integrazione di ssh-askpass nell'ambiente KDE

  • ssh-askpass-gnome: integrazione di ssh-askpass nell'ambiente Gnome

libpam-usb

libpam-usb è un'utilità (disponibile solo fino a Debian Jessie) che permette l'autenticazione con una chiavetta USB. Questo pacchetto include un'applicazione utile: pamusb-agent. Questa utilità, una volta configurata correttamente, permette di caricare le chiavi SSH presenti sulla chiavetta USB una volta che questa è connessa e di scaricarle quando viene disconnessa.


Comandi in remoto

Se si desidera eseguire un solo comando sul computer remoto, non è necessario fare il login. Si può semplicemente dire a ssh di eseguire il comando senza login, ad esempio:

ssh $remote_user@$remote_host 'ls *.txt'

elenca tutti i file con estensione .txt sul computer remoto. Questo comando funziona con le virgolette singole '...' come nell'esempio, con le virgolette doppie "..." e senza virgolette. Ci possono essere differenze tra le tre cose, però, anche se non verranno documentate in questa pagina.

Login SSH in Debian da un altro sistema operativo

Buone pratiche di utilizzo di SSH

Si deve leggere questo documento: https://lackof.org/taggart/hacking/ssh/

Il documento riassume molte buone prassi che gli utenti regolari di SSH dovrebbero seguire per evitare di compromettere la sicurezza dei loro account (e allo stesso tempo dell'intera macchina).

Configurare il proprio ~/.ssh/config in modo da inviare solo la chiave giusta

Host master.debian.org
    User dd-account
    IdentityFile ~/.ssh/id_rsa
    IdentitiesOnly yes

Risoluzione dei problemi

Errore "OpenSSL version mismatch. Built against 1000105f, you have 10001060"

Se si ottiene un messaggio di errore come questo quando si avvia il demone "ssh" è necessario eseguire:

apt-get install openssh-server openssh-client

Vedere anche il bug n.732940.

SSH si blocca

Problema

Si sta cercando di connettersi con SSH in un computer remoto, ma durante il login SSH la sessione si blocca/congela indefinitamente perciò non si ottiene mai il prompt dei comandi e non si può usare alcun comando SSH :( Quando si usa la modalità di debug di SSH la sessione si blocca alla riga debug2: channel 0: open confirm rwindow 0 rmax 32768

Possibile causa

Può accadere con alcuni router dietro NAT e quando si usa OpenSSH. Durante l'impostazione della sessione, dopo che è stata fornita la password, OpenSSH imposta il campo TOS (tipo di servizio)type of service) nel datagramma IP. Il router si inceppa lì. L'effetto è che la sessione SSH si blocca per un tempo indefinito. In altre parole, i comandi o le connessioni SSH funzionano di rado o per nulla.

Soluzione con IPQoS 0x00

Fino a quando il produttore del proprio router non corregge il firmware questa è un'opzione per risolvere il problema:

  1. Verificare che le proprie versioni di openssh-server e openssh-client siano uguali a 5.7 o più recenti. Per esempio, la soluzione sottostante dovrebbe funzionare con Debian 7.11 Wheezy o successive dato che forniscono OpenSSH in versione 6.0.

  2. Modificare uno dei due file seguenti che si trovano in:

    ~/.ssh/config

    o

    /etc/ssh/ssh_config

    Notare: il file config è per ciascun utente e il file ssh_config è per tutto il sistema. Se non si è sicuri modificare il file config dell'utente appropriato.

    Contenuto del file prima

    Host *

    Contenuto del file dopo

    Host *
      IPQoS 0x00
  3. Se si ha già un terminale o finestra di console aperta, chiuderli tutti. Facendo così si chiuderà ogni sessione SSH attiva.
  4. Non è necessario riavviare OpenSSH o Debian. Riprovare a usare SSH verso un server remoto. Dovrebbe funzionare e si dovrebbe aver risolto con successo il problema. :)

    Grazie a Joe e catmaker per questo suggerimento :)

    La documentazione correlata è in https://www.openssh.com/txt/release-5.7

Soluzione con netcat

  • /!\ ATTENZIONE: è suggerito l'uso dell'altra soluzione con IPQoS 0x00 invece dell'uso dell'opzione netcat/ProxyCommand nc %h %p perché IPQoS 0x00 è l'opzione incorporata ufficiale di OpenSSH. Inoltre IPQoS 0x00 è un modo più diretto di risolvere il problema e potenzialmente è un'opzione più sicura, dato che IPQoS 0x00 usa la cifratura incorporata di SSH per i trasferimenti sicuri. Confrontarlo con i trasferimenti non cifrati di netcat. Fonti: 1 2.Se si sceglie di usare l'opzione netcat/ProxyCommand nc %h %p proseguire con la lettura.

Un'altra opzione per risolvere il problema di SSH che si blocca è di usare ProxyCommand nc %h %p. Per farlo seguire gli stessi passi della soluzione precedente con IPQoS 0x00, ma sostituire IPQoS 0x00 con

ProxyCommand nc %h %p

Mantenere vive connessioni SSH

Per ragioni di sicurezza, una connessione SSH viene in modo predefinito chiusa automaticamente dopo un intervallo di tempo prefissato. In alcuni casi però può essere desiderabile mantenere la connessione aperta. Come nel caso di archiviazione cloud su connessione SSH.

/!\ ATTENZIONE: Prima di attivare l'opzione per mantenere vive le connessioni SSH è suggerito prendere in considerazione la messa in sicurezza sia del proprio client SSH sia del proprio server SSH, perché, ad esempio, c'è il rischio che, se un proprio utente lascia la sua connessione aperta e il suo computer è non presenziato e non bloccato, chiunque possa avvicinarsi al computer e sfruttare quella connessione aperta. Potrebbe ad esempio usare il comando passwd e cambiare la password e perciò ottenere accesso al server. In altre parole, prima di attivare l'opzione per mantenere viva la connessione SSH, è suggerito usare il buon senso e le buone norme di sicurezza.

Per server Debian 7.x

Passi per mantenere attiva una connessione SSH.

Sul server SSH modificare il file /etc/ssh/sshd_config e aggiungervi in fondo quanto segue:

# Mantenere la connessione SSH attiva inviando ogni 300 secondi un piccolo pacchetto keep-alive al server in modo da usare la connessione SSH. 300 secondi equivalgono a 5 minuti.
ClientAliveInterval 300
 
# Disconnettere il client dopo 3333 richieste "ClientAlive". Il formato è (ClientAliveInterval x ClientAliveCountMax). In questo esempio (300 secondi x 3333) = ~999.900 secondi = ~16.665 minuti = ~277 ore = ~11 giorni.
ClientAliveCountMax 3333

Come utente root riavviare il servizio SSH

service sshd restart

Notare che sui sistemi Debian recenti (es. Wheezy 7 aggiornata al novembre 2015), il comando descritto sopra non funziona più e restituisce l'errore:

sudo service sshd restart
sshd: unrecognized service

Tuttavia questo funziona:

sudo service ssh restart
[ ok ] Restarting OpenBSD Secure Shell server: sshd.

Vedere anche

  • screen - multiplexer per terminale con emulazione di terminale VT100/ANSI

  • tmux - multiplexer per terminale alternativo


CategoryNetwork CategorySoftware