Il server SSH (Secure Shell) consente di connettersi in modo sicuro alla riga di comando del router. Ora vedremo come configurare un dispositivo per una connessione remota alla sua interfaccia a riga di comando (CLI) tramite il protocollo SSHv2.
Per avviare il server SSH, il componente di sistema Server SSH deve essere installato in Keenetic. È possibile farlo nella pagina Impostazioni generali del sistema nella sezione KeeneticOSOpzioni di aggiornamento e dei componenti facendo clic su Opzioni dei componenti.

Una volta installato il componente, il server SSH si avvierà automaticamente. È possibile accedervi nelle interfacce locali con un livello di sicurezza privato. Per informazioni sui livelli di accesso che determinano il livello di sicurezza (la logica del firewall), consultare l'articolo Configurazione delle regole del firewall dall'interfaccia della riga di comando.
Per consentire l'accesso da reti esterne, il server SSH deve disporre di un livello di sicurezza pubblico. Eseguire i comandi nell'interfaccia a riga di comando del router:
(config)>ip sshCore::Configurator: Done. (config-ssh)>security-level publicSsh::Manager: Security level changed to public.
Per evitare tentativi di pirateria informatica indesiderati da parte di bot, hacker Black/Grey Hat, e nei casi in cui sulla porta standard sia già in esecuzione il server SSH nel sottosistema OPKG, si raccomanda di cambiare la porta standard del server. La porta predefinita su cui è in esecuzione il server è la porta standard numero 22. È possibile cambiarla con uno dei numeri non utilizzati (ad esempio, 2022):
(config-ssh)> port 2022
Ssh::Manager: Port changed to 2022.Ora gli utenti che hanno accesso alla riga di comando Keenetic potranno raggiungere l'indirizzo IP esterno del dispositivo sulla porta 2022 da un client SSH e ottenere l'accesso alla sua riga di comando tramite un canale crittografato sicuro.
Per salvare l'impostazione, è necessario eseguire il comando:
(config)> system configuration save
Core::ConfigurationSaver: Saving configuration...Suggerimento
Se il servizio SSH non si avvia automaticamente, inserire i seguenti comandi uno dopo l'altro nell'interfaccia a riga di comando (CLI) del proprio dispositivo:
no service ssh service ssh system configuration save system reboot
Connessione a un server SSH
Per connettersi al proprio Keenetic tramite il protocollo SSH, è possibile utilizzare qualsiasi programma terminale che supporti questo tipo di connessione. Ad esempio, un client gratuito, PuTTY.
Scaricare, installare e avviare il client terminale PuTTY sul proprio computer. Specificare il tipo di connessione SSH nel campo Tipo di connessione. Nel campo Nome host o indirizzo IP inserire il nome di rete o l'indirizzo IP del dispositivo (IP locale quando ci si connette da una rete domestica o IP WAN pubblico quando ci si connette da Internet), e nel campo Porta — il numero di porta tramite cui verrà stabilita la connessione (per impostazione predefinita il protocollo SSH utilizza la porta 22, nel nostro esempio viene utilizzata la porta 2022).

Dopo aver fatto clic sul pulsante Apri, verranno richiesti il nome utente e la password per l'autenticazione sul dispositivo. Inserire le credenziali dell'account amministratore. Dopo aver inserito correttamente il nome utente e la password dell'amministratore, apparirà la riga di comando del router.

È facile stabilire una connessione SSH anche da Linux. Ad esempio, per connettere un client SSH con il nome utente admin, si deve usare il comando:
[alexander@silverado ~]$ ssh admin@192.168.1.1 -p 2022
Warning: Permanently added '[192.168.1.1]:2022' (ECDSA) to the list of known hosts.
admin@192.168.1.1's password:
X11 forwarding request failed on channel 0
(config)>Se le proprie chiavi sono compromesse, il server SSH può generare nuove chiavi. Questa procedura si verifica automaticamente quando si installa il componente di sistema, ma può anche essere avviata con il comando ip ssh keygen {keygen}, dove al posto di {keygen} è necessario specificare l'algoritmo richiesto — ad esempio, default.
(config-ssh)> keygen default
Ssh::Manager: Key generation is in progress...
progress, name = SSH key generation: 0
....
progress, name = SSH key generation: 50
progress, name = SSH key generation: 100Se sono state modificate le chiavi sul server, è necessario rimuoverle dal client che le memorizza automaticamente. In Linux, per farlo si può usare l'applicazione ssh-keygen con il parametro -R (distingue tra maiuscole e minuscole, dato che il parametro -r è usato per stampare a schermo i valori hash delle chiavi salvate):
[alexander@silverado ~]$ ssh-keygen -R '[192.168.1.1]:2022'
# Host [192.168.1.1]:2022 found: line 1
/home/alexander/.ssh/known_hosts updated.
Original contents retained as /home/alexander/.ssh/known_hosts.oldNota
A partire da KeeneticOS 2.11, le sessioni telnet non protette per la gestione del router tramite la riga di comando vengono terminate automaticamente dopo 3 minuti di inattività dell'utente. Questo valore di timeout può essere controllato, ma è impossibile impostare una durata infinita per la sessione.
Per la sessione di connessione SSH è impostato un timeout predefinito di 300 secondi (5 minuti). Se necessario, questo valore può essere aumentato. Questo parametro può essere impostato fino a 232-1 secondi inclusi.