Rocky Linux / Appunti su SSH, Wi-Fi, password e installazione testuale

Per cambiare la porta SSH di Rocky Linux occorre coordinare SELinux, firewall e configurazione di sshd, mantenendo una via di accesso per il ripristino. Questi appunti trattano anche gli strumenti Wi-Fi, la qualità delle password e l’installazione in modalità testo, come attività amministrative distinte.

SSH (Secure Shell) è il protocollo di accesso remoto; SELinux (Security-Enhanced Linux) applica politiche di controllo degli accessi. Per le procedure collegate, consultate gli articoli su accesso SSH come root, modalità SELinux e zone, servizi e porte di firewalld (in inglese).

Preparare l’accesso prima di cambiare la porta SSH

cat /etc/rocky-release
sudo sshd -T | grep -E "^(port|listenaddress) "
sudo firewall-cmd --get-active-zones
getenforce

Tenete aperta la connessione attuale, rendete disponibile una console di recupero e salvate una copia della configurazione sshd, compresi i file inclusi. Annotate porte, indirizzi di ascolto e regole del firewall iniziali. Il risultato di sshd -T descrive la configurazione interpretata; per verificare l’ascolto effettivo occorre anche ss.

Verificate che la porta di esempio 50022 sia libera. La zona public usata sotto è un esempio: sostituitela con quella che governa realmente l’interfaccia o la sorgente della connessione amministrativa. Se non usate firewalld, controllate il firewall attivo; verificate anche eventuali regole cloud, apparati a monte e inoltri delle porte. Cambiare numero di porta non sostituisce autenticazione e controllo degli accessi.

Preparare prima i permessi SELinux e firewall

sudo semanage port -l | grep "^ssh_port_t"
sudo ss -lntp

Se manca semanage, verificate il pacchetto policycoreutils-python-utils per la versione installata. Il filtro mostra le porte associate a ssh_port_t; per verificare se una porta appartiene a un altro tipo, consultate anche l’elenco completo di semanage port -l. Il controllo delle porte in ascolto e quello delle associazioni SELinux rispondono a domande diverse.

Usate il comando di aggiunta -a seguente soltanto se SELinux è abilitato e 50022 è una nuova porta da registrare per SSH. Se è già assegnata a un altro tipo, indagate sul servizio esistente e scegliete un’altra porta o pianificate la modifica; non riassegnatela automaticamente. La guida SELinux di Rocky Linux descrive oggetti porta e modalità operative.

sudo semanage port -a -t ssh_port_t -p tcp 50022
sudo firewall-cmd --zone=public --add-port=50022/tcp

In questa fase conservate il permesso SSH precedente. Se la gestione è limitata a una rete sorgente, mantenete tale restrizione anche sulla nuova porta, adattando le regole invece di applicare il permesso generale dell’esempio. La documentazione firewalld sull’apertura delle porte distingue le modifiche runtime da quelle permanenti.

Applicare la configurazione sshd e provare una nuova connessione

Port 50022

Port 50022 è una direttiva del file di configurazione, non un comando da eseguire nella shell. Modificate la configurazione effettiva, tenendo conto di Include e dei blocchi Match: Port va nel contesto globale. Molte direttive usano il primo valore acquisito, ma Port ammette più occorrenze: aggiungere una porta può lasciare attivo anche l’ascolto su un’altra. Controllate quindi tutte le direttive applicabili e gli eventuali indirizzi ListenAddress.

La procedura seguente presuppone che l’ascolto sia gestito dal servizio sshd. Con unità personalizzate o attivazione tramite socket, controllate prima la configurazione del servizio effettivamente in uso.

sudo sshd -t && sudo systemctl reload sshd
sudo ss -lntp

sshd -t deve terminare senza errori prima del caricamento della nuova configurazione; il comando collegato da && viene eseguito solo in quel caso. Confermate con ss che la porta desiderata sia in ascolto. Da un altro terminale, provate ssh -p 50022 user@server, sostituendo utente e server con quelli reali, e verificate anche le operazioni sudo necessarie. Non considerate sufficiente il fatto che la vecchia connessione sia ancora aperta.

Dopo la riuscita della prova, aggiungete il permesso anche alla configurazione permanente e controllate separatamente entrambi gli insiemi di regole:

sudo firewall-cmd --permanent --zone=public --add-port=50022/tcp
sudo firewall-cmd --zone=public --list-ports
sudo firewall-cmd --permanent --zone=public --list-ports

Valutate la rimozione del vecchio permesso soltanto dopo aver verificato accesso nuovo e recupero. Se la prova fallisce, ripristinate solo questa modifica SSH dalla sessione esistente o dalla console, controllate con sshd -t e ricaricate il servizio. Confermate l’accesso sulla porta originale prima di rimuovere soltanto le regole firewall e le associazioni SELinux aggiunte per questa operazione. Non eliminate o rendete permanenti in blocco regole runtime estranee.

Il manuale ufficiale OpenSSH di sshd_config documenta le direttive di ascolto e le relative eccezioni.

Preparare gli strumenti Wi-Fi

nmcli device status
rpm -q NetworkManager-wifi
sudo dnf install NetworkManager-wifi

nmcli device status riepiloga lo stato dei dispositivi e rpm -q controlla la presenza del pacchetto. Installate NetworkManager-wifi se necessario e disponibile per il rilascio e i repository abilitati. Occorre verificare anche dispositivo, driver, firmware, eventuale blocco radio e profilo di connessione; il manuale ufficiale nmcli descrive i comandi di controllo.

Installare un pacchetto in una macchina virtuale priva di hardware Wi-Fi non crea una scheda radio fisica. Prima di modificare la connessione attiva di un server remoto, predisponete il recupero da console.

Verificare e modificare la qualità delle password

authselect current
sudo grep -R "pam_pwquality" /etc/pam.d/
sudo grep -R -E "^[[:space:]]*(minlen|enforcing|enforce_for_root)" /etc/security/pwquality.conf /etc/security/pwquality.conf.d/ 2>/dev/null

PAM (Pluggable Authentication Modules) è il sistema di moduli che applica parte della politica di autenticazione. Verificate prima che la configurazione PAM attiva usi pam_pwquality e i valori di pwquality.conf e dei relativi file aggiuntivi. authselect current mostra il profilo selezionato; l’assenza di un risultato nel filtro non dimostra da sola quale politica sia efficace, anche perché il comando nasconde alcuni errori con 2>/dev/null.

Leggete man pwquality.conf nella versione installata, salvate la configurazione iniziale e poi intervenite sui valori necessari. Una riga commentata non è un’impostazione attiva. minlen, insieme ai crediti per le classi di caratteri, può non corrispondere a un semplice numero minimo di caratteri. La documentazione libpwquality spiega anche enforcing e enforce_for_root. Non sovrascrivete direttamente i file PAM generati da authselect: usate il percorso di personalizzazione previsto dal manuale authselect.

I controlli avvengono normalmente quando una password viene impostata o cambiata; modificare la politica non sostituisce automaticamente le password esistenti. Provate accettazione e rifiuto su un account separato in un ambiente di laboratorio. In caso di errore, ripristinate solo le impostazioni cambiate e ripetete la prova. Controllate enforce_for_root insieme alla configurazione PAM effettiva: riguarda l’applicazione dei controlli anche quando la modifica della password viene eseguita con privilegi root.

Leggere i passaggi dell’installazione in modalità testo

Il riferimento originale mostra una macchina virtuale Rocky Linux 10.1 avviata con UEFI (Unified Extensible Firmware Interface). I diagrammi seguenti spiegano i passaggi in italiano e non sono schermate dell’installatore. Tasti, schermate e numeri delle opzioni dipendono dall’immagine e dal firmware: verificate sempre le indicazioni effettive prima di procedere.

  1. Selezionare la voce di installazione. Nel menu UEFI selezionate il supporto e premete e per modificare la voce. Con firmware BIOS, seguite il tasto indicato sullo schermo.

Selezionare la voce di installazione: Nel menu UEFI selezionate il supporto e premete e per modificare la voce.

  1. Aggiungere la modalità testo. Aggiungete inst.text alla riga del kernel. Avviate con Ctrl+X o F10. Conservate gli altri parametri e seguite i tasti del menu.

Aggiungere la modalità testo: Aggiungete inst.text alla riga del kernel. Avviate con Ctrl+X o F10.

  1. Leggere le opzioni disponibili. Se appare una scelta di modalità, scegliete il testo in base alla descrizione. I numeri delle opzioni possono cambiare tra immagini e versioni.

Leggere le opzioni disponibili: Se appare una scelta di modalità, scegliete il testo in base alla descrizione.

  1. Verificare prima di installare. Controllate disco, capacità, rete, account e opzioni disponibili. Confermate i dati da conservare prima di scrivere sul disco.

Verificare prima di installare: Controllate disco, capacità, rete, account e opzioni disponibili.

Non trattate un numero, per esempio 2, come una scelta universale: leggete la descrizione attuale. La modalità testo può offrire meno funzioni della modalità grafica, in particolare per il partizionamento personalizzato e il controllo del disco; verificate che le opzioni di storage e cifratura richieste siano disponibili prima di confermare la scrittura. La documentazione delle opzioni di avvio Anaconda definisce inst.text come interfaccia testuale limitata.