Jeg skal opgradere en server fra Ubuntu 18.04 til 20.04. Hvis Ubuntus opgraderingsværktøj do-release-upgrade detekterer at opgraderingen sker via en ssh forbindelse, åbnes automatisk en ssh forbindelse på port 1022 som man kan forbinde til, hvis man mister forbindelsen.
Men kan jeg overhovedet forbinde til port 1022? Der kan være firewalls foran serveren og på selve serveren, eller på det netværk jeg befinder mig i. Så jeg tænkte at det nok ville være en god ide at teste dette på forhånd.
Det kræver at jeg konfigurerer ssh til at lytte på en port mere, udover den eksisterende.
Åbne en ekstra port til ssh
Først tjekker jeg lige at der ikke allerede er noget der lytter på port 1022. Hvis der kommer output på nedenstående, er det lidt af en showstopper:
1 |
netstat -tulpn | grep 1022 |
Åben ssh konfigurationsfilen og find det sted hvor porten er angivet. Hvis du har en standard konfiguration på port 22, vil du sandsynligvis se det som en kommenteret linie, som i eksemplet her:
1 2 3 4 5 6 7 8 9 10 11 |
vim /etc/ssh/sshd_config # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. #Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: |
Fjern havelågen (#) foran “Port 22” og tilføj en port mere:
1 2 |
Port 22 Port 1022 |
Gem og luk filen og tjek så at du ikke har lavet nogen fejl:
1 |
sshd -t |
Nu kan du genstarte din ssh service så ændringen træder i kraft, og ja, det kan du også selvom du gør det her over en ssh forbindelse. Dine åbne session forsvinder ikke:
1 |
service ssh restart |
Nu kan du tjekke at ændringen er sket som forventet:
1 2 3 4 5 |
netstat -tulpn | grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5489/sshd tcp 0 0 0.0.0.0:1022 0.0.0.0:* LISTEN 5489/sshd tcp6 0 0 :::22 :::* LISTEN 5489/sshd tcp6 0 0 :::1022 :::* LISTEN 5489/sshd |
Og nu tilbage til mit oprindelige formål med denne øvelse, nemlig at tjekke om jeg kan tilgå serveren på ssh via denne nye port:
1 |
ssh -p 1022 min.server.com |
Hvis det ikke lykkes har du muligvis en firewall kørende på serveren eller netværket. For at åbne en port i uwf firewallen: