Ho cambiato la mia porta SSH predefinita sul mio server di casa (in /etc/ssh/sshd_config
file) sulla porta 54747, quindi riavviato ssh
e sshd
servizi (mai sicuro di quale quindi ho fatto entrambi solo per sicurezza). Per testare la mia configurazione, mi sono disconnesso e poi sono rientrato senza alcun problema.
Un paio di giorni dopo, ho installato gli aggiornamenti apt e quindi ho riavviato il mio server. Quando ho provato a rientrare in SSH (sulla porta 54747), ho ricevuto un errore di connessione rifiutata.
Per qualche motivo, ho provato a utilizzare SSH sulla porta predefinita e ha funzionato! Sono tornato a controllare sshd_config, ma aveva ancora la porta personalizzata. Quindi ho riavviato ssh
e sshd
services, ed è tornato al comportamento "normale" (ssh sulla porta 54747). Ho provato a riavviare di nuovo e la connessione si è rifiutata di nuovo...
Qualcuno sa cosa ho sbagliato?
Dettagli extra :
- Ubuntu 16.04.2 LTS
- Il server viene utilizzato anche un HTPC, con una sessione aperta (stesso utente di SSH) sulla mia TV
- I SSH utilizzando la chiave RSA del mio laptop e ho disabilitato l'autenticazione della password
- Avevo il riavvio con
sudo reboot -h now
, ma dopo aver cercato, ho scoperto che era sconsigliato da alcune persone, quindi ho provatosudo reboot
, ma nessuna differenza
MODIFICA
Sequenza degli eventi :
- Cambia la porta SSH da 22 a 54747 in
/etc/ssh/sshd_config
- Riavvia i servizi ssh e sshd
- Termina la sessione SSH corrente
- SSH è tornato con successo sulla porta 54747
- Riavvia
- Errore di connessione SSH sulla porta 54747, ma riuscita sulla porta 22
- Riavvia i servizi ssh e sshd
- Ritorno SSH sulla porta 54747, errore di connessione sulla porta 22
- Riavvia e torna a 6
MODIFICA 1 : netstat
uscita
[email protected]:~$ sudo netstat -lntp | grep :54747
[email protected]:~$ sudo netstat -lntp | grep :22
tcp6 0 0 :::22 :::* LISTEN 1/init
EDIT 2 : service sshd status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: inactive (dead)
EDIT 3 : lsof -i | grep ssh
systemd 1 root 46u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
systemd 1 root 49u IPv6 14641 0t0 TCP *:ssh (LISTEN)
sshd 4088 root 3u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4088 root 4u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4202 rgo 3u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4202 rgo 4u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
Per riferimento, ATLAS è il nome host del server remoto, 192.168.1.27 è l'IP LAN del mio laptop e il comando è stato eseguito tra i passaggi 6 e 7
ufw status
Status: inactive
EDIT 4 : ps -ef |grep sshd
root 4088 1 0 22:40 ? 00:00:00 sshd: rgo [priv]
rgo 4202 4088 0 22:40 ? 00:00:00 sshd: [email protected]/1 sshd
Risposta accettata:
ssh può essere "attivato dal socket" da systemd a seconda della configurazione, il che significa che inizialmente è systemd a configurare la porta di ascolto e sshd viene avviato solo quando un client si connette per la prima volta. Questo per velocizzare i tempi di avvio:i demoni di servizio vengono avviati solo su richiesta.
Correlati:come registrare lo schermo in Ubuntu?
Tuttavia questo significa che devi anche configurare systemd sulla porta corrispondente. Troverai la configurazione del sistema in /lib/systemd/system/ssh.socket
che elenca ListenStream=22
. Per ignorarlo, crea un file /etc/systemd/system/ssh.socket.d/port.conf
(creando la directory ssh.socket.d
se necessario) che contiene:
[Socket]
ListenStream=
ListenStream=54747
Modificare il numero nella porta desiderata. La prima voce vuota cancella l'impostazione predefinita precedente e la voce successiva aggiunge quella nuova. Questo sostituisce l'impostazione predefinita fornita in /lib/systemd/system/ssh.socket
e deve essere fatto in aggiunta a modificando /etc/ssh/sshd_config
.
Quindi esegui sudo systemctl daemon-reload
per informare systemd delle tue modifiche e sudo systemctl reload ssh
se il tuo demone ssh era già in esecuzione.