Linux Tutorial – Puntata 27

di jolek78

Care/i fruitrici e fruitori del blog, in questi post – ogni domenica mattina – si parlerà del sistema operativo GNU/Linux e degli strumenti per utilizzarlo al massimo delle potenzialità. Cercheremo di spiegare come funziona, cosa è il kernel, come costruirsi una vpn, come settare un firewall e giocare col terminale, usare adb e altro. Se il capitalismo della sorveglianza ci vuole passivi consumatori-consumatrici di servizi noi si risponde con un po’ di “cultura informatica” e un MARAMEO (quasi affettuoso). Buona lettura!

Dovete sapere una cosa: io per connettermi alla macchina virtuale della bottega il 99% delle volte non uso l’interfaccia grafica ma la console. Si jolek78, questo l’avevamo capito, urla il coro, vai avanti. Il fatto è che spesso, per spiegare quello che c’e’ da spiegare mi connetto in ssh, faccio le mie operazioni, i miei test, li riporto nel tutorial e poi mi disconnetto. E che è sto ssh? urlava la folla cercando di trattenere il “barabba barabba!”. Beh ssh altro non è che il metodo standard utilizzato dagli amministratori di sistema, ma non soltanto da loro, per loggarsi all’interno di una macchina ed eseguire operazioni. Poiché pero’ la nostra macchina è stata re-installata di fresco, giusto tre settimane fa, ssh richiede alcune modifiche per incrementarne la sicurezza e quindi di mi sono detto “perché non farlo nel tutorial?” Per lavoro purtroppo, questa settimana mi è toccato proprio lavorare su alcune vulnerabilità ssh(!), e quindi, che diamine, magari oltre che essere utile al capitale, posso essere utile a qualcos’altro, non vi pare? Ergo: viva la crittografia, viva openssh, viva la console, viva (zozzoni, so a cosa state pensando), si, viva anche linux se proprio vogliamo, e comunque, visto che ci siamo buona domenica. Si ricomincia.

SSH
Dunque, ssh è uno di quei protocolli storici di cui nessuno può fare a meno. Nasce nel 1995, e venne realizzato espressamente per sostituire un altro protocollo, telnet, utilizzato fino ad allora, e per aggiungere nuovi e più evoluti livelli di sicurezza. Come un ospite che entra in casa di qualcun altro mettendo una copia della chiave nella serratura, esattamente cosi’ ssh permette a un utente ospite di connettersi a un server da remoto. Come standard utilizza la porta 22, e fornisce/richiede autorizzazioni attraverso una password e una chiave pubblica/privata che, normalmente, viene conservata in un particolare file di configurazione. Come al solito, fare è più facile che scrivere. Quindi, facciamo. Come prima operazione, vado a connettermi alla bottega.

ssh -l <user> -p <port> <ip>

~  ssh -l bottega -p 22 192.168.0.27
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-34-generic x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

6 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

Your Hardware Enablement Stack (HWE) is supported until April 2025.
Last login: Sat Sep 18 08:59:05 2021 from 192.168.0.14
Static hostname: bottegadelbarbieri
Icon name: computer-vm
Chassis: vm
Machine ID: b8f4bc187d644394b2e5262e1798ae9f
Boot ID: 2588fabc81a54edaa9e01ba89fda0002
Virtualization: oracle
Operating System: Ubuntu 20.04.3 LTS
Kernel: Linux 5.11.0-34-generic
Architecture: x86-64

Cosa e’ successo? Banalmente abbiamo utilizzato un protocollo per connetterci da remoto, la bottega ha riconosciuto la nostra password e ci ha autorizzati a entrare, e noi ci siamo loggati. Come si può vedere, lo standard de facto è fornire sia la porta che l’utente quando si realizza una connessione. Ma poiché, nel nostro caso, la porta è quella standard e non è stata ancora cambiata possiamo anche banalmente:

 ~  ssh bottega@192.168.0.27

rsa / dsa / ecdsa / ed25519
A questo punto siamo dentro la macchina. Nel corso del tempo, è stata una corsa a incrementare gli algoritmi di sicurezza, tanto che oggi abbiamo vari standard che competono fra di loro. Al momento i tre più popolari sono RSA, DSA e ECDSA, mentre probabilmente il migliore e il più evoluto oggi è ED25519. Se volete saperne di più sulla più interessante delle tre, e masticate (gnam gnam ?) un po’ d’inglese, questa è la sorgente a cui abbeverarsi: https://ed25519.cr.yp.to/

Il sistema di connessione è essenzialmente questo: facciamo finta che jolek78 sia il punto iniziale e bottegadelbarbieri il punto finale della connessione.

– jolek78 mette nel suo zaino un messaggio. dentro lo zaino c’e’ un sistema che chiude a chiave – una chiave privata in possesso di jolek78 – il messaggio dentro una scatolina di modo che nessuno lo possa leggere.
– jolek78 invia il messaggio a bottegadelbarbieri
– bottegadelbarbieri riceve il messaggio ma non sa che farsene
– bottegadelbarbieri si ricorda che jolek78 aveva inviato la sua chiave pubblica – che è un pezzo generato dalla chiave privata di jolek78 – per poter leggere il messaggio.

– bottegadelbarbieri inserisce la chiave pubblica di jolek78 nella serratura
– jolek78 riconosce bottegadelbarbieri attraverso la sua chiave pubblica, si danno una stretta di mano – o in gergo tecnico fanno l’handshake – e la scatola si apre
– bottegadelbarbieri legge il messaggio

Ma che diavolo sono ste chiavi? Se vi ricordate le abbiamo generate in una delle prime puntate, ma rifacciamolo:

bottega@bottegadelbarbieri  ~  ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/bottega/.ssh/id_rsa): 
Created directory '/home/bottega/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/bottega/.ssh/id_rsa
Your public key has been saved in /home/bottega/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:CZWtbqiE+BC132Bo8w/mFsifZDroQGo2R95nozthIe8 bottega@bottegadelbarbieri
The key's randomart image is:
+---[RSA 3072]----+
| .o |
| . .. . |
| . o . . |
|. =.o. ... |
| * Ooo.oS |
|= * @+o o |
|oB @oB.= |
|= * *E= . |
|.. o oo |
+----[SHA256]-----+

bottega@bottegadelbarbieri  ~  ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/bottega/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/bottega/.ssh/id_dsa
Your public key has been saved in /home/bottega/.ssh/id_dsa.pub
The key fingerprint is:
SHA256:7pSgaLzbTDrD1sbMPSC5rHOeOKieD6Sb3pvMsVCdnSw bottega@bottegadelbarbieri
The key's randomart image is:
+---[DSA 1024]----+
| |
| |
| |
| . + . |
| . o E.+S |
|o.+....o . |
|o=+Ooo + |
|+=/BX oo |
|X@B&+ .. |
+----[SHA256]-----+

bottega@bottegadelbarbieri  ~  ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/bottega/.ssh/id_ecdsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/bottega/.ssh/id_ecdsa
Your public key has been saved in /home/bottega/.ssh/id_ecdsa.pub
The key fingerprint is:
SHA256:wENEHR2ik2wqgSrliqZk+oc1JFJVNlHX/SJ1RiRHth8 bottega@bottegadelbarbieri
The key's randomart image is:
+---[ECDSA 256]---+
| ..+O++ooo ..+*|
| .. = +.o. . o++|
|..o X . E |
|oo...o + . . +|
|o.oo. S . ..|
|o. .o |
|o+ o . |
|* . . |
|o... |
+----[SHA256]-----+
bottega@bottegadelbarbieri  ~  ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/bottega/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/bottega/.ssh/id_ed25519
Your public key has been saved in /home/bottega/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:MWHl7iBAfGevKvomaGZm7BEzdoL37KXqbdYeN2yxlqo bottega@bottegadelbarbieri
The key's randomart image is:
+--[ED25519 256]--+
| .. o.. |
| .. ..oo |
| .. oo.. |
|. . +. |
|.*.. . S.. |
|..*o o.* |
|.o o.o.O . |
|.Boo=oo* . |
|Bo+OE+o |
+----[SHA256]-----+

~/.ssh/
A questo punto nella nostra directory nascosta troveremo i seguenti files:

 bottega@bottegadelbarbieri  ~  ls -lha .ssh/
total 40K
drwx------ 2 bottega bottega 4.0K Sep 18 12:11 .
drwxr-xr-x 19 bottega bottega 4.0K Sep 18 11:59 ..
-rw------- 1 bottega bottega 1.5K Sep 18 12:00 id_dsa
-rw-r--r-- 1 bottega bottega 616 Sep 18 12:00 id_dsa.pub
-rw------- 1 bottega bottega 578 Sep 18 12:00 id_ecdsa
-rw-r--r-- 1 bottega bottega 188 Sep 18 12:00 id_ecdsa.pub
-rw------- 1 bottega bottega 464 Sep 18 12:11 id_ed25519
-rw-r--r-- 1 bottega bottega 108 Sep 18 12:11 id_ed25519.pub
-rw------- 1 bottega bottega 2.6K Sep 18 11:59 id_rsa
-rw-r--r-- 1 bottega bottega 580 Sep 18 11:59 id_rsa.pub
bottega@bottegadelbarbieri  ~  for key in ~/.ssh/id_*; do ssh-keygen -l -f "${key}"; done | uniq
1024 SHA256:7pSgaLzbTDrD1sbMPSC5rHOeOKieD6Sb3pvMsVCdnSw bottega@bottegadelbarbieri (DSA)
256 SHA256:wENEHR2ik2wqgSrliqZk+oc1JFJVNlHX/SJ1RiRHth8 bottega@bottegadelbarbieri (ECDSA)
256 SHA256:MWHl7iBAfGevKvomaGZm7BEzdoL37KXqbdYeN2yxlqo bottega@bottegadelbarbieri (ED25519)
3072 SHA256:CZWtbqiE+BC132Bo8w/mFsifZDroQGo2R95nozthIe8 bottega@bottegadelbarbieri (RSA)

/etc/ssh/
Giusto per capirci: non è detto che bottega, come utente, debba avere l’esclusiva all’interno di bottegadelbarbieri. Ergo tutte le chiavi di tutti gli utenti sono conservate in una directory comune. Cosi’, perché a linux piace essere democratico:

bottega@bottegadelbarbieri  ~  ls -lha /etc/ssh/
total 584K
drwxr-xr-x 4 root root 4.0K Sep 18 08:06 .
drwxr-xr-x 141 root root 12K Sep 18 08:23 ..
-rw-r--r-- 1 root root 523K Jul 23 13:55 moduli
-rw-r--r-- 1 root root 1.6K Sep 18 08:06 ssh_config
drwxr-xr-x 2 root root 4.0K Jul 23 13:55 ssh_config.d
-rw-r--r-- 1 root root 3.3K Jul 23 13:55 sshd_config
drwxr-xr-x 2 root root 4.0K Jul 23 13:55 sshd_config.d
-rw------- 1 root root 505 Aug 27 19:11 ssh_host_ecdsa_key
-rw-r--r-- 1 root root 174 Aug 27 19:11 ssh_host_ecdsa_key.pub
-rw------- 1 root root 399 Aug 27 19:11 ssh_host_ed25519_key
-rw-r--r-- 1 root root 94 Aug 27 19:11 ssh_host_ed25519_key.pub
-rw------- 1 root root 2.6K Aug 27 19:11 ssh_host_rsa_key
-rw-r--r-- 1 root root 566 Aug 27 19:11 ssh_host_rsa_key.pub
-rw-r--r-- 1 root root 342 Aug 27 19:11 ssh_import_id

ssh -i <key> <user@ip:port>
Ci siamo detti che ed25519 è la chiave algoritmica più sicura, giusto? Bene, quindi da jolek78 a questo punto voglio connettermi a bottegadelbarbieri nel modo più sicuro possibile. Facciamo dunque un primo passo. Scegliamo questa chiave invece che quella di default che è, ovviamente, la RSA. Anche jolek78 ha le 4 chiavi generate come bottegadelbarbieri, quindi nella nostra connessione scegliamo la chiave giusta:

~  ssh -i ~/.ssh/id_ed25519 bottega@192.168.0.27:22
bottega@192.168.0.27's password: 
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-34-generic x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

6 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

Your Hardware Enablement Stack (HWE) is supported until April 2025.
Last login: Sat Sep 18 12:03:02 2021 from 192.168.0.14
Static hostname: bottegadelbarbieri
Icon name: computer-vm
Chassis: vm
Machine ID: b8f4bc187d644394b2e5262e1798ae9f
Boot ID: 2588fabc81a54edaa9e01ba89fda0002
Virtualization: oracle
Operating System: Ubuntu 20.04.3 LTS
Kernel: Linux 5.11.0-34-generic
Architecture: x86-64

Primo passo fatto. Ci siamo connessi utilizzando la chiave più sicura fra le quattro

/etc/ssh/ssh_config
Dunque, a questo punto visualizziamo il file di configurazione di ssh. Dovremo modificare nelle prossime sezioni alcune linee, aggiungerne delle altre, e modificarne altre ancora:

bottega@bottegadelbarbieri  ~/.ssh  cat /etc/ssh/ssh_config

# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
# 1. command line options
# 2. user-specific file
# 3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options. For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Include /etc/ssh/ssh_config.d/*.conf

Host *
# ForwardAgent no
# ForwardX11 no
# ForwardX11Trusted yes
# PasswordAuthentication yes        <<<<<<<<<
# HostbasedAuthentication no
# GSSAPIAuthentication no
# GSSAPIDelegateCredentials no
# GSSAPIKeyExchange no
# GSSAPITrustDNS no
# BatchMode no
# CheckHostIP yes
# AddressFamily any
# ConnectTimeout 0
# StrictHostKeyChecking ask
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# IdentityFile ~/.ssh/id_ecdsa
# IdentityFile ~/.ssh/id_ed25519     
# Port 22                            <<<<<<<<<
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com
# EscapeChar ~
# Tunnel no
# TunnelDevice any:any
# PermitLocalCommand no
# VisualHostKey no
# ProxyCommand ssh -q -W %h:%p gateway.example.com
# RekeyLimit 1G 1h
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes

ssh-copy-id  – old_keys
Piazziamo ora tutte le vecchie chiavi, cioè quelle che vogliamo non usare più, all’interno di una nuova directory:

bottega@bottegadelbarbieri  ~/.ssh  mkdir old_keys
mkdir: created directory 'old_keys'
bottega@bottegadelbarbieri  ~/.ssh  mv id_dsa* old_keys/
renamed 'id_dsa' -> 'old_keys/id_dsa'
renamed 'id_dsa.pub' -> 'old_keys/id_dsa.pub'
bottega@bottegadelbarbieri  ~/.ssh  mv id_rsa* old_keys/
renamed 'id_rsa' -> 'old_keys/id_rsa'
renamed 'id_rsa.pub' -> 'old_keys/id_rsa.pub'
bottega@bottegadelbarbieri  ~/.ssh  mv id_ecdsa* old_keys/
renamed 'id_ecdsa' -> 'old_keys/id_ecdsa'
renamed 'id_ecdsa.pub' -> 'old_keys/id_ecdsa.pub'
bottega@bottegadelbarbieri  ~/.ssh  ls -lha
total 20K
drwx------ 3 bottega bottega 4.0K Sep 18 18:57 .
drwxr-xr-x 19 bottega bottega 4.0K Sep 18 11:59 ..
-rw------- 1 bottega bottega 464 Sep 18 12:11 id_ed25519
-rw-r--r-- 1 bottega bottega 108 Sep 18 12:11 id_ed25519.pub
drwxrwxr-x 2 bottega bottega 4.0K Sep 18 18:57 old_keys
bottega@bottegadelbarbieri  ~/.ssh 

e ora copiamo da jolek78 a bottegadelbarbieri la chiave ed25519

 ~  ssh-copy-id -i .ssh/id_ed25519 bottega@192.168.0.27
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_ed25519.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
bottega@192.168.0.27's password: 
Static hostname: bottegadelbarbieri
Icon name: computer-vm
Chassis: vm
Machine ID: b8f4bc187d644394b2e5262e1798ae9f
Boot ID: 2588fabc81a54edaa9e01ba89fda0002
Virtualization: oracle
Operating System: Ubuntu 20.04.3 LTS
Kernel: Linux 5.11.0-34-generic
Architecture: x86-64

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'bottega@192.168.0.27'"
and check to make sure that only the key(s) you wanted were added.

Bene, un piccolo passo per un uomo, un grande passo per la sicurezza.

passwordless
Ora facciamo ancora di meglio. Disabilitiamo la richiesta di password, e abilitiamo soltanto i login attraverso le chiavi che bottegadelbarbieri conosce già. Non vorrete mica dire che bottegadelbarbieri non conosce jolek78, vero? Ergo, dentro il file di configurazione visto in precedenza andra’ modificata una linea, e aggiunte altre due:

PasswordAuthentication no   <<<<<<<
ChallengeResponseAuthentication no
UsePAM no

e poi andra’ ristartato il demone ssh

bottega@bottegadelbarbieri  ~/.ssh  sudo systemctl status sshd.service 
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-09-18 19:18:39 BST; 5min ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 6506 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 6507 (sshd)
Tasks: 1 (limit: 2267)
Memory: 2.6M
CGroup: /system.slice/ssh.service
└─6507 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Sep 18 19:18:39 bottegadelbarbieri systemd[1]: Starting OpenBSD Secure Shell server...
Sep 18 19:18:39 bottegadelbarbieri sshd[6507]: Server listening on 0.0.0.0 port 22.
Sep 18 19:18:39 bottegadelbarbieri sshd[6507]: Server listening on :: port 22.
Sep 18 19:18:39 bottegadelbarbieri systemd[1]: Started OpenBSD Secure Shell server.

Bene, a questo punto loggandoci da jolek78, non verrà richiesta più la password ma la connessione verrà autenticata, automaticamente, attraverso la chiave ed25519 appena copiata in bottegadelbarbieri:

 ~  ssh bottega@192.168.0.27
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-34-generic x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

6 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

Your Hardware Enablement Stack (HWE) is supported until April 2025.
Last login: Sat Sep 18 19:22:41 2021 from 192.168.0.14
Static hostname: bottegadelbarbieri
Icon name: computer-vm
Chassis: vm
Machine ID: b8f4bc187d644394b2e5262e1798ae9f
Boot ID: 2588fabc81a54edaa9e01ba89fda0002
Virtualization: oracle
Operating System: Ubuntu 20.04.3 LTS
Kernel: Linux 5.11.0-34-generic
Architecture: x86-64

Un altro piccolo passo per un uomo… vabbe’, come sopra insomma

port 22? no!

Ii firewall predefinito su ubuntu, a differenza di fedora e/o centos, è ufw. Al momento è abilitata soltanto la porta 22, sia in ingresso che in uscita:

bottega@bottegadelbarbieri  ~  sudo ufw status
Status: active

To Action From
-- ------ ---- 
22/tcp ALLOW Anywhere                 <<<<<< IpV4
22/tcp (v6) ALLOW Anywhere (v6)       <<<<<< IpV6

Sicuri abbastanza no? No. Utilizzare una porta standard per connetterci in ssh e’ una delle peggiori decisioni che un amministratore di sistema possa fare. Dunque scegliamone un’altra, per esempio la 2121. Abilitiamola nel firewall:

bottega@bottegadelbarbieri  ~  sudo ufw allow 2121/tcp
Rule added
Rule added (v6)
bottega@bottegadelbarbieri  ~  sudo ufw status
Status: active

To Action From
-- ------ ----
22/tcp ALLOW Anywhere 
2121/tcp ALLOW Anywhere 
22/tcp (v6) ALLOW Anywhere (v6) 
2121/tcp (v6) ALLOW Anywhere (v6)

Modifichiamo la porta nel file di configurazione, disabilitiamo la vecchia, ristartiamo il demone ssh, e preghiamo laicamente il grande dio della crittografia asimmetrica:

bottega@bottegadelbarbieri  ~  sudo vim /etc/ssh/ssh_config

[....]
IdentityFile ~/.ssh/id_ed25519
PubkeyAcceptedKeyTypes ssh-ed25519-cert-v01@openssh.com,ssh-ed25519
Port 2121                  <<<<<<<<<<<<<
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com
# EscapeChar ~
# Tunnel no
# TunnelDevice any:any
# PermitLocalCommand no
# VisualHostKey no
# ProxyCommand ssh -q -W %h:%p gateway.example.com
# RekeyLimit 1G 1h
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes

bottega@bottegadelbarbieri  ~  sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 2121/tcp ALLOW IN Anywhere 
[ 2] 22/tcp ALLOW IN Anywhere 
[ 3] 22/tcp (v6) ALLOW IN Anywhere (v6) 
[ 4] 2121/tcp (v6) ALLOW IN Anywhere (v6)
bottega@bottegadelbarbieri  ~  sudo ufw delete 2
Deleting:
allow 22/tcp
Proceed with operation (y|n)? y
Rule deleted
bottega@bottegadelbarbieri  ~  sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 2221/tcp ALLOW IN Anywhere 
[ 2] 22/tcp (v6) ALLOW IN Anywhere (v6) 
[ 3] 2121/tcp (v6) ALLOW IN Anywhere (v6)
bottega@bottegadelbarbieri  ~  sudo ufw delete 2
Deleting:
allow 22/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)

bottega@bottegadelbarbieri  ~  sudo ufw status numbered
Status: active

To Action From
-- ------ ----
[ 1] 2121/tcp ALLOW IN Anywhere 
[ 2] 2121/tcp (v6) ALLOW IN Anywhere (v6)

Ristartiamo anche il firewall e verifichiamo che la porta sia davvero aperta:

bottega@bottegadelbarbieri  ~  sudo ufw reload 
Firewall reloaded
bottega@bottegadelbarbieri  ~  ss -tunlp |grep 2121
tcp LISTEN 0 128 0.0.0.0:2121 0.0.0.0:* 
tcp LISTEN 0 128 [::]:2121 [::]:*

Verifichiamo, per sicurezza, che firewalld sia disabilitato:

bottega@bottegadelbarbieri  ~  sudo systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)

e poi, rullo di tamburi, da jolek78 proviamo a connetterci in ssh, sulla porta 2121, senza password, con la chiave ed25519

~  ssh -l bottega -p 2121 192.168.0.27
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-34-generic x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

6 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

Your Hardware Enablement Stack (HWE) is supported until April 2025.
Last login: Sat Sep 18 21:21:25 2021 from 192.168.0.14

laziness config

Io son particolarmente pigro, quindi non ho voglia, tutte le volte di scrivere sulla console tutta sta pappardella. L’ip, la porta, l’utente… Uffa. Voglio qualcosa di rapido. E allora mi vado a scrivere un file, il config dentro la mia directory personale ssh, con tutti i parametri.

~  vim .ssh/config

Host bottega
hostname 192.168.0.27
user bottega
port 2121
HostKeyAlgorithms ssh-ed25519
IdentityFile ~/.ssh/id_ed25519

Salviamo il file e poi:

~  ssh bottega
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-34-generic x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

6 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

Your Hardware Enablement Stack (HWE) is supported until April 2025.
Last login: Sat Sep 18 21:29:59 2021 from 192.168.0.14

Meh, anche basta per oggi.

Alla prossima settimana!
jolek78

>> Indice <<
Puntata 26 < > Puntata 28

Il logo “Tux Linux” e’ stato realizzato e distribuito dall’artista deiby-ybied su Deviantart in licenza Creative Commons BY-NC-SA 3.0

jolek78 on Email
jolek78
Un tizio che pensava di essere uno scienziato. Si ritrovò divulgatore scientifico. Poi si addormentò su un aereo e si risvegliò informatico. Ma era sempre lui.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *