Práctica 6#

Equipo ARFA-FGFG-ROFM#

  1. Arganis Ramírez Francisco - 108003620
  2. Flores García Fernando - 314107035
  3. Romo Olea Fhernanda - 314284286

Nombre de Dominio e IP#

Nombre de Dominio IP Pública de la VM
tacosdorados.cf 20.213.119.72

Generación de los recursos de Azure#

Se generó una cuenta de estudiante con el dominio @comunidad.unam.mx para la realización de las tareas de esta práctica. No se profundiza demasiado en los pasos a seguir para crear las instancias de la máquina virtual y de la zona DNS ya que se siguieron tal cual las instrucciones especificadas en los enlaces presentes en la Especificación de la práctica 6 de Redes 2022-2.

Creación de una máquina virtual en Azure#

Se generó una máquina virtual Debian 11 Bullseye -Gen 2 con el nombre Debian-Redes dentro del grupo de recursos llamado Recursos-Redes, la región en la que fue levantada es en Australia East (Asia Pacific) con los recursos de 1 vcpu y 1 GB en Ram. Las especificaciones anteriores se pueden corroborar en la información de la siguiente captura:

Un usuario y una contraseña fueron generados para permitir el acceso a la instancia, se abrieron puertos para conexiones entrentes 22, 80 y 443:

Se selecciona después como disco de almacenamiento un disco SSD Standard. Y se establecen las etiquetas correspondientes para el recurso como lo indicaban las instrucciones:

Una vez creada la máquina voertual recuperamos la IP Pública para más adelante, la IP Pública asociada puede verse en este mismo documento hasta arriba de esta sección.

Creación de la Zona DNS#

Suponiendo que ya tenemos nuestro nombre de dominio registrado, para dar de alta una zona DNS se ralizan los siguientes pasos:

Desde Azure se entra al servicio de DNS y se procede a crear una nueva Zona. En esta situación se le asigna el mismo grupo de recursos que se le asignó a la máquina virtual Recursos-Redes y se proceda a darle a la instancia DNS el mismo nombre del dominio que tenemos registrado, en este caso se llamará tacosdorados.cf.

Tras asignar las mismas etiquetas que en la máquina virtual terminamos la configuración inicial y nuestra instancia queda creada. En la siguiente imagen se puede apreciar el nombre de dominio asociado a la zona DNS y los Name Servers que Azure nos otorga.

Procedimiento para registrar el nombre de dominio y asociarlo a la zona DNS de Azure#

Apartar el dominio#

En la página my.freenom podemos buscar y registrar un dominio, aquellos que son gratuitos tienen las terminaciones .cf, .tk, .ml, etc. Podemos realizar una búsqueda para verificar si aquel nombre de dominio que deseamos se encuentra disponible y si es así reservarlo. Hay que hacer un breve registro en la página y una vez comprado, el dominio aparecerá en la sección de nuestra cuenta llamada Mis Dominios:

Asociar zona con el nombre de Dominio#

En la configuración de dicho dominio, a la cual podemos acceder desde la interfaz mostrada arriba, podemos registrar los Name Servers otorgados por Azure al momento de crear la zona DNS, en nuestro caso tenemos 4 NS:

  • Name server 1: ns1-05.azure-dns.com.
  • Name server 2: ns2-05.azure-dns.net.
  • Name server 3: ns3-05.azure-dns.org.
  • Name server 4: ns4-05.azure-dns.info.

Y se agregan a la configuración dentro de my.freenom en el siguiente apartado:

Crear registros de la zona DNS#

Dentro de la interfaz de Azure generamos el registro A principal para nuestro dominio y el registro CNAME para el dominio. Una vez registrados los registros de zona que se tienen son los siguientes:

Hecho esto el dominio de Freenom se encontrará asociado a la zona DNS de Azure.

Salida de WHOIS en la herramienta de freenom#

Salida de las consultas DNS para los registros SOA, NS, A y CNAME#

  • Registro SOA
   ?> dig SOA tacosdorados.cf

   ; <<>> DiG 9.10.6 <<>> SOA tacosdorados.cf
   ;; global options: +cmd
   ;; Got answer:
   ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20375
   ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 9

   ;; OPT PSEUDOSECTION:
   ; EDNS: version: 0, flags:; udp: 1232
   ;; QUESTION SECTION:
   ;tacosdorados.cf.        IN  SOA

   ;; ANSWER SECTION:
   tacosdorados.cf. 3600    IN  SOA ns1-05.azure-dns.com. azuredns-hostmaster.microsoft.com. 1 3600 300 2419200 300

   ;; AUTHORITY SECTION:
   tacosdorados.cf. 300 IN  NS  ns1-05.azure-dns.com.
   tacosdorados.cf. 300 IN  NS  ns4-05.azure-dns.info.
   tacosdorados.cf. 300 IN  NS  ns2-05.azure-dns.net.
   tacosdorados.cf. 300 IN  NS  ns3-05.azure-dns.org.

   ;; ADDITIONAL SECTION:
   ns1-05.azure-dns.com.    633 IN  A   40.90.4.5
   ns2-05.azure-dns.net.    3402    IN  A   64.4.48.5
   ns3-05.azure-dns.org.    3402    IN  A   13.107.24.5
   ns4-05.azure-dns.info.   131 IN  A   13.107.160.5
   ns1-05.azure-dns.com.    786 IN  AAAA    2603:1061::5
   ns2-05.azure-dns.net.    3402    IN  AAAA    2620:1ec:8ec::5
   ns3-05.azure-dns.org.    3402    IN  AAAA    2a01:111:4000::5
   ns4-05.azure-dns.info.   131 IN  AAAA    2620:1ec:bda::5

   ;; Query time: 202 msec
   ;; SERVER: 192.168.1.1#53(192.168.1.1)
   ;; WHEN: Fri May 27 17:27:37 CDT 2022
   ;; MSG SIZE  rcvd: 423
  • Registro NS
   ?> dig NS tacosdorados.cf
   ; <<>> DiG 9.10.6 <<>> NS tacosdorados.cf
   ;; global options: +cmd
   ;; Got answer:
   ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1143
   ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0    ADDITIONAL: 9

   ;; OPT PSEUDOSECTION:
   ; EDNS: version: 0, flags:; udp: 1232
   ;; QUESTION SECTION:
   ;tacosdorados.cf.        IN  NS

   ;; ANSWER SECTION:
   tacosdorados.cf. 272 IN  NS  ns1-05.azure-dns.com.
   tacosdorados.cf. 272 IN  NS  ns4-05.azure-dns.info.
   tacosdorados.cf. 272 IN  NS  ns2-05.azure-dns.net.
   tacosdorados.cf. 272 IN  NS  ns3-05.azure-dns.org.

   ;; ADDITIONAL SECTION:
   ns1-05.azure-dns.com.    605 IN  A   40.90.4.5
   ns2-05.azure-dns.net.    3374    IN  A   64.4.48.5
   ns3-05.azure-dns.org.    3374    IN  A   13.107.24.5
   ns4-05.azure-dns.info.   103 IN  A   13.107.160.5
   ns1-05.azure-dns.com.    758 IN  AAAA    2603:1061::5
   ns2-05.azure-dns.net.    3374    IN  AAAA    2620:1ec:8ec::5
   ns3-05.azure-dns.org.    3374    IN  AAAA    2a01:111:4000::5
   ns4-05.azure-dns.info.   103 IN  AAAA    2620:1ec:bda::5

   ;; Query time: 54 msec
   ;; SERVER: 192.168.1.1#53(192.168.1.1)
   ;; WHEN: Fri May 27 17:28:05 CDT 2022
   ;; MSG SIZE  rcvd: 357
  • Registro A
   ?> dig A tacosdorados.cf

   ; <<>> DiG 9.10.6 <<>> A tacosdorados.cf
   ;; global options: +cmd
   ;; Got answer:
   ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23951
   ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 9

   ;; OPT PSEUDOSECTION:
   ; EDNS: version: 0, flags:; udp: 1232
   ;; QUESTION SECTION:
   ;tacosdorados.cf.        IN  A

   ;; ANSWER SECTION:
   tacosdorados.cf. 300 IN  A   20.213.119.72

   ;; AUTHORITY SECTION:
   tacosdorados.cf. 251 IN  NS  ns4-05.azure-dns.info.
   tacosdorados.cf. 251 IN  NS  ns3-05.azure-dns.org.
   tacosdorados.cf. 251 IN  NS  ns2-05.azure-dns.net.
   tacosdorados.cf. 251 IN  NS  ns1-05.azure-dns.com.

   ;; ADDITIONAL SECTION:
   ns1-05.azure-dns.com.    584 IN  A   40.90.4.5
   ns2-05.azure-dns.net.    3353    IN  A   64.4.48.5
   ns3-05.azure-dns.org.    3353    IN  A   13.107.24.5
   ns4-05.azure-dns.info.   82  IN  A   13.107.160.5
   ns1-05.azure-dns.com.    737 IN  AAAA    2603:1061::5
   ns2-05.azure-dns.net.    3353    IN  AAAA    2620:1ec:8ec::5
   ns3-05.azure-dns.org.    3353    IN  AAAA    2a01:111:4000::5
   ns4-05.azure-dns.info.   82  IN  AAAA    2620:1ec:bda::5

   ;; Query time: 58 msec
   ;; SERVER: 192.168.1.1#53(192.168.1.1)
   ;; WHEN: Fri May 27 17:28:26 CDT 2022
   ;; MSG SIZE  rcvd: 373
  • Registro CNAME
   ?> dig A azure.tacosdorados.cf.

   ; <<>> DiG 9.10.6 <<>> A azure.tacosdorados.cf.
   ;; global options: +cmd
   ;; Got answer:
   ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56796
   ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 9

   ;; OPT PSEUDOSECTION:
   ; EDNS: version: 0, flags:; udp: 1232
   ;; QUESTION SECTION:
   ;azure.tacosdorados.cf.      IN  A

   ;; ANSWER SECTION:
   azure.tacosdorados.cf.   300 IN  CNAME   tacosdorados.cf.
   tacosdorados.cf. 255 IN  A   20.213.119.72

   ;; AUTHORITY SECTION:
   tacosdorados.cf. 206 IN  NS  ns2-05.azure-dns.net.
   tacosdorados.cf. 206 IN  NS  ns1-05.azure-dns.com.
   tacosdorados.cf. 206 IN  NS  ns3-05.azure-dns.org.
   tacosdorados.cf. 206 IN  NS  ns4-05.azure-dns.info.

   ;; ADDITIONAL SECTION:
   ns1-05.azure-dns.com.    539 IN  A   40.90.4.5
   ns2-05.azure-dns.net.    3308    IN  A   64.4.48.5
   ns3-05.azure-dns.org.    3308    IN  A   13.107.24.5
   ns4-05.azure-dns.info.   37  IN  A   13.107.160.5
   ns1-05.azure-dns.com.    692 IN  AAAA    2603:1061::5
   ns2-05.azure-dns.net.    3308    IN  AAAA    2620:1ec:8ec::5
   ns3-05.azure-dns.org.    3308    IN  AAAA    2a01:111:4000::5
   ns4-05.azure-dns.info.   37  IN  AAAA    2620:1ec:bda::5

   ;; Query time: 53 msec
   ;; SERVER: 192.168.1.1#53(192.168.1.1)
   ;; WHEN: Fri May 27 17:29:11 CDT 2022
   ;; MSG SIZE  rcvd: 393

Captura de los comandos en la máquina virtual#

  • uname -a
   # uname -a

   Linux tacosdorados.cf 5.10.0-14-cloud-amd64 #1 SMP Debian 5.10.113-1 (2022-04-29) x86_64 GNU/Linux
  • cat /proc/cmdline
   # cat /proc/cmdline

   BOOT_IMAGE=/boot/vmlinuz-5.10.0-14-cloud-amd64 root=UUID=ad6b1df1-54de-4e70-800b-fccd17238cbc ro console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 consoleblank=0
  • id redes
   # id redes

   uid=1000(redes) gid=1000(redes) groups=1000(redes),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),113(netdev)
  • groups redes
   # groups redes

   redes : redes adm dialout cdrom floppy sudo audio dip video plugdev netdev
  • sudo -l -U redes
   # sudo -l -U redes

   Matching Defaults entries for redes on tacosdorados:
      env_reset, mail_badpass,
      secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

   User redes may run the following commands on tacosdorados:
    (ALL : ALL) ALL
    (ALL) NOPASSWD: ALL
  • timedatectl
   # timedatectl

         Local time: Fri 2022-05-27 22:53:08 CDT
         Universal time: Sat 2022-05-28 03:53:08 UTC
         RTC time: Sat 2022-05-28 03:53:08
         Time zone: America/Mexico_City (CDT, -0500)

   System clock synchronized: yes
         NTP service: active
         RTC in local TZ: no
  • hostnamectl
   # hostnamectl

   Static hostname: tacosdorados.cf
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 8ea80afd77834435888a0d768c27b526
           Boot ID: b6f79ff9a5894b9fb6d4212610bb6b47
    Virtualization: microsoft
  Operating System: Debian GNU/Linux 11 (bullseye)
            Kernel: Linux 5.10.0-14-cloud-amd64
      Architecture: x86-64
  • hostname -f
   # hostname -f

   tacosdorados.cf
  • ip addr
   # ip addr

   1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
   2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:22:48:93:8c:85 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.4/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::222:48ff:fe93:8c85/64 scope link
       valid_lft forever preferred_lft forever
  • ip route
   # ip route

   default via 10.0.0.1 dev eth0
   10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.4
   168.63.129.16 via 10.0.0.1 dev eth0
   169.254.169.254 via 10.0.0.1 dev eth0
  • cat /etc/hostname
   # cat /etc/hostname

   tacosdorados.cf
  • cat /etc/hosts
   # cat /etc/hosts

   127.0.0.1    localhost
   ::1      localhost ip6-localhost ip6-loopback
   ff02::1      ip6-allnodes
   ff02::2      ip6-allrouters

   20.213.119.72    tacosdorados.cf
  • cat /etc/resolv.conf
   # cat /etc/resolv.conf

   domain js4qiezljzvenmxu1uy0b3ffwa.px.internal.cloudapp.net
   search js4qiezljzvenmxu1uy0b3ffwa.px.internal.cloudapp.net
   nameserver 168.63.129.16
  • ls -la ~root/.ssh ~redes/.ssh
   # ls -la ~root/.ssh ~redes/.ssh/home/redes/.ssh:

   total 12
   drwx------ 2 redes redes 4096 May 27 22:33 .
   drwxr-xr-x 3 redes redes 4096 May 27 22:18 ..
   -rw------- 1 redes redes    0 May 27 14:40 authorized_keys
   -rw------- 1 redes redes  748 May 27 22:33 authorized_keys2

   /root/.ssh:
   total 12
   drwx------ 2 root root 4096 May 27 22:34 .
   drwx------ 4 root root 4096 May 27 22:18 ..
   -rw------- 1 root root    0 May 27 14:40 authorized_keys
   -rw------- 1 root root  748 May 27 22:34 authorized_keys2
  • lsattr ~root/.ssh/authorized_keys ~redes/.ssh/authorized_keys
   # lsattr ~root/.ssh/authorized_keys* ~redes/.ssh/authorized_keys*

   --------------e------- /root/.ssh/authorized_keys
   ----i---------e------- /root/.ssh/authorized_keys2
   ----i---------e------- /home/redes/.ssh/authorized_keys
   ----i---------e------- /home/redes/.ssh/authorized_keys2
  • lastlog
   # lastlog

   Username      Port   From    Latest
   root                         **Never logged in**
   daemon                       **Never logged in**
   bin                          **Never logged in**
   sys                          **Never logged in**
   sync                         **Never logged in**
   games                        **Never logged in**
   man                          **Never logged in**
   lp                           **Never logged in**
   mail                         **Never logged in**
   news                         **Never logged in**
   uucp                         **Never logged in**
   proxy                        **Never logged in**
   www-data                     **Never logged in**
   backup                       **Never logged in**
   list                         **Never logged in**
   irc                          **Never logged in**
   gnats                        **Never logged in**
   nobody                       **Never logged in**
   _apt                         **Never logged in**
   messagebus                   **Never logged in**
   uuidd                        **Never logged in**
   tcpdump                      **Never logged in**
   systemd-network              **Never logged in**
   systemd-resolve              **Never logged in**
   _chrony                      **Never logged in**
   sshd                         **Never logged in**
   systemd-timesync             **Never logged in**
   systemd-coredump             **Never logged in**
   redes            pts/0  200.57.202.224   Fri May 27 22:41:12 -0500 2022
  • last
   # last

   redes    pts/0        200.57.202.224   Fri May 27 22:41   still logged in
   reboot   system boot  5.10.0-14-cloud- Fri May 27 22:40   still running
   redes    pts/1        200.57.202.224   Fri May 27 22:32 - 22:40  (00:08)
   redes    pts/1        200.57.202.224   Fri May 27 22:28 - 22:30  (00:02)
   redes    pts/1        200.57.202.224   Fri May 27 22:19 - 22:27  (00:08)
   redes    pts/1        200.57.202.224   Fri May 27 22:14 - 22:18  (00:04)
   redes    pts/0        200.57.202.224   Fri May 27 21:49 - 22:40  (00:51)
   redes    pts/0        200.57.202.224   Fri May 27 21:29 - 21:39  (00:10)
   reboot   system boot  5.10.0-14-cloud- Fri May 27 14:40 - 22:40  (08:00)
  • free -m
   # free -m

               total        used        free      shared  buff/cache   available
   Mem:             913         120         540           0         252         655
   Swap:              0           0           0
  • ps afx -> Salida muy larga, ver archivo ps afx

Configuración de la Máquina virtual en Azure#

Conexión inicial por SSH#

Primero nos conectamos por SSH a la dirección IP de la máquina virtual.

En nuestro caso con:

fernandondin@fernandondin ~ % ssh redes@20.213.119.72

Confirmamos el fingerprint de la llave SSH de nuestro equipo remoto con yes

The authenticity of host '20.213.119.72 (20.213.119.72)' can't be established.
ED25519 key fingerprint is SHA256:9fwkWrkhTqIcnI47upgKoc1ojbUyZkmMyKqm/Et7xwM.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '20.213.119.72' to the list of known hosts.

Iniciamos sesión con la contraseña del portal Azure

redes@20.213.119.72's password:
Linux tacosdorados.cf 5.10.0-14-cloud-amd64 #1 SMP Debian 5.10.113-1 (2022-04-29) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat May 28 13:16:20 2022 from 189.203.89.136

Cuando hacemos login nos aparece un mensaje de advertencia y hacemos lo siguiente para resolverlo:

WARNING! Your environment specifies an invalid locale.
 The unknown environment variables are:
   LC_CTYPE=UTF-8 LC_ALL=
 This can affect your user experience significantly, including the
 ability to manage packages. You may install the locales by running:

 sudo dpkg-reconfigure locales

 and select the missing language. Alternatively, you can install the
 locales-all package:

 sudo apt-get install locales-all

To disable this message for all users, run:
   sudo touch /var/lib/cloud/instance/locale-check.skip

Resuelto lo anterior nos aparece el prompt:

redes@tacosdorados:~$

Configurando sudo#

Revisamos la lista de opciones que aplican para que el usuario redes pueda elevar privilegios usando sudo:

redes@tacosdorados:~$ sudo -k
redes@tacosdorados:~$ sudo -l
Matching Defaults entries for redes on tacosdorados:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User redes may run the following commands on tacosdorados:
    (ALL : ALL) ALL
    (ALL) NOPASSWD: ALL
redes@tacosdorados:~$

Verificamos que el usuario pueda elevar privilegios sin utilizar contraseña:

redes@tacosdorados:~$ sudo -i
root@tacosdorados:~#

Establecemos el siguiente comando en el archivo /etc/sudoers.d/waagent:

redes@tacosdorados:~$ cat /etc/sudoers.d/waagent
redes ALL = (ALL) NOPASSWD:ALL

Configurando la llave SSH#

Creamos una llave SSH para autenticarnos en la máquina virtual

fernandondin@fernandondin ~ % ssh-keygen -t rsa -b 4096 -N "" -C "Equipo-ARFA-FGFG-RCJE-ROFM" -f ~/.ssh/equipo_redes_rsa

Listamos el par de llaves SSH

  • La llave equipo_redes_rsa es nuestra llave privada

  • La llave equipo_redes_rsa.pub es la llave pública, esta la añadimos a nuestra carpeta files

fernandondin@fernandondin ~ % ls -la ~/.ssh/equipo_redes_rsa*
-rw------- 1 fernandondin staff 3389 May 24 18:19 /Users/tonejito/.ssh/equipo_redes_rsa
-rw-r--r-- 1 fernandondin staff  752 May 24 18:19 /Users/tonejito/.ssh/equipo_redes_rsa.pub

Mostramos el contenido de la llave publica

fernandondin@fernandondin ~ % cat ~/.ssh/equipo_redes_rsa.pub
ssh-rsa AAECAwQFBgcICQoLDA0O...8/T19vf4+fr7/P3+/w== Equipo-Equipo-ARFA-FGFG-RCJE-ROFM
fernandondin@fernandondin ~ % wc -l ~/.ssh/equipo_redes_rsa.pub
1

Creamos un bloque de configuración en el archivo local ~/.ssh/config para facilitar el acceso por SSH

Host 20.213.119.72 tacosdorados.cf *.tacosdorados.cf
  User redes
  IdentityFile ~/.ssh/equipo_redes_rsa

Probamos la configuración del cliente SSH y verificamos que podemos elevar los privilegios:

fernandondin@fernandondin ~ % ssh tacosdorados.cf
redes@tacosdorados:~$ sudo -i
root@tacosdorados:~#

Configurando el nombre de host#

Definimos el nombre del equipo utilizando el comando hostnamectl

root@tacosdorados:~#  hostnamectl set-hostname tacosdorados.cf
root@tacosdorados:~# hostname -f
tacosdorados.cf

Anotamos la direccion IP y el nombre de nuestro equipo al final del archivo /etc/hosts

127.0.0.1   localhost
::1         localhost ip6-localhost ip6-loopback
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters

20.213.119.72 tacosdorados.cf

Cerramos la sesión de SSH

root@tacosdorados:~# exit
redes@tacosdorados:~$ exit
Connection to tacosdorados.cf closed.
fernandondin@fernandondin - %

Volvemos a conectarnos por SSH y veridicamos que el nombre del equipo se muestre adecuadamente:

fernandondin@fernandondin - % ssh tacosdorados.cf

redes@tacosdorados:~$ hostname -f
tacosdorados.cf

redes@tacosdorados:~$ hostnamectl status
   Static hostname: tacosdorados.cf
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 8ea80afd77834435888a0d768c27b526
           Boot ID: b6f79ff9a5894b9fb6d4212610bb6b47
    Virtualization: microsoft
  Operating System: Debian GNU/Linux 11 (bullseye)
            Kernel: Linux 5.10.0-14-cloud-amd64
      Architecture: x86-64

Configurando la zona horaria#

Revisamos la fecha y hora actuales para determinal la zona horaria

root@tacosdorados:~# date
Wed May 27 01:00:32 UTC 2022

Establecemos la zona horaria del equipo utilizando el siguiente comando:

root@tacosdorados:~# timedatectl set-timezone America/Mexico_City

Verificamos que los cambios se hayan aplicado.

redes@tacosdorados:~$ date
Sun 29 May 2022 04:34:24 PM CDT
redes@tacosdorados:~$ timedatectl
               Local time: Sun 2022-05-29 16:34:39 CDT
           Universal time: Sun 2022-05-29 21:34:39 UTC
                 RTC time: Sun 2022-05-29 21:34:39
                Time zone: America/Mexico_City (CDT, -0500)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
redes@tacosdorados:~$

Configurando el idioma#

root@tacosdorados:~# dpkg-reconfigure -p low locales

Seleccionamos la siguiente configuración en el cuadro de diálogo Configuring locales

  • [*] en_US.UTF-8
  • [*] es_MX.UTF-8

Seleccionamos la siguiente configuración en el cuadro de diálogo Locales to be generated

  • [*] en_US.UTF-8
  • [*] es_MX.UTF-8

Seleccionamos en_US.UTF-8 en la lista en el cuadro de diálogo Default locale for the system environment y reiniciamos nuestra máquina virtual

redes@tacosdorados:~$ sudo reboot & exit ;
Connection to tacosdorados.cf closed.

Así podremos verificar que nuestro cambios son persistentes

Autenticación SSH en la máquina virtual#

Agregamos la llave SSH de los profesores en el archivo ~/.ssh/authorized_keys2

Copiamos la llave a la máquina virtual

fernandondin@fernandondin ~ % scp profesores_redes_rsa.pub redes@tacosdorados.cf:/tmp/profesores_redes_rsa.pub

fernandondin@fernandondin ~ % ssh tacosdorados.cf

Instalamos la llave en la cuenta de usuario redes

redes@tacosdorados:~$ test -d ~/.ssh || mkdir -vp ~/.ssh

redes@tacosdorados:~$ chmod 0700 ~/.ssh

redes@tacosdorados:~$ install --owner redes --group redes --mode 0600 /tmp/profesores_redes_rsa.pub ~/.ssh/authorized_keys2

Instalamos la llave SSH en la cuenta del usuario root:

redes@tacosdorados:~$ sudo -i

root@tacosdorados:~# test -d ~/.ssh || mkdir -vp ~/.ssh

root@tacosdorados:~# install --owner root --group root --mode 0600 /tmp/profesores_redes_rsa.pub ~/.ssh/authorized_keys2

Aplicamos el atributo inmutable a las llaves SSH instaladas

root@tacosdorados:~# chattr +i ~redes/.ssh/authorized_keys2 ~root/.ssh/authorized_keys2

Verificamos que los permisos y atributos estén correctamente configurados en el archivo .ssh/authorized_key2 en las cuentas de usuario root y redes

root@tacosdorados:~# ls -la ~root/.ssh ~redes/.ssh
/home/redes/.ssh:
total 12
drwx------ 2 redes redes 4096 May 28 13:22 .
drwxr-xr-x 4 redes redes 4096 May 27 23:09 ..
-rw------- 1 redes redes    0 May 27 14:40 authorized_keys
-rw------- 1 redes redes  748 May 27 22:33 authorized_keys2

/root/.ssh:
total 16
drwx------ 2 root root 4096 May 28 13:23 .
drwx------ 4 root root 4096 May 27 22:18 ..
-rw------- 1 root root  747 May 27 23:12 authorized_keys
-rw------- 1 root root  748 May 27 22:34 authorized_keys2

root@tacosdorados:~# lsattr ~root/.ssh/authorized_keys* ~redes/.ssh/authorized_keys*
--------------e------- /root/.ssh/authorized_keys
----i---------e------- /root/.ssh/authorized_keys2
--------------e------- /home/redes/.ssh/authorized_keys
----i---------e------- /home/redes/.ssh/authorized_keys2

Borramos el archivo temporal de la llave pública del directorio /tmp

root@tacosdorados:~# rm -v /tmp/profesores_redes_rsa.pub
removed '/tmp/redes_rsa.pub'

Actualizando los paquetes del sistema operativo#

root@tacosdorados:~# apt -q update

Listamos las actualizaciones disponibles y las aplicamos al equipo

root@tacosdorados:~# apt list --upgradable

root@tacosdorados:~# apt -qy upgrade

Reiniciamos el equipo

root@tacosdorados:~# exit

redes@tacosdorados:~$ sudo reboot & exit ;
Connection to tacosdorados.cf closed.

Instalación de software#

Instalamos utilerias de red en la máquina virtual

fernandondin@fernandondin ~ % ssh tacosdorados.cf

redes@tacosdorados:~$ sudo -i

root@tacosdorados:~# apt -qy install tree tcpdump nmap netcat-openbsd ngrep dsniff wget curl whois dnsutils net-tools iproute2 iptables tsocks inetutils-ping inetutils-traceroute inetutils-tools ethtool

Comandos utilizados#

Comando Explicación
ssh Inicia sesión en una máquina remota, usando comunicación encriptada. Nos permite acceso al shell de la máquina virtual de Azure.
scp Copia archivos entre clientes a través de la red. Se usó para transferir archivos entre las máquinas locales de cada miembro del equipo y la máquina virutal de Azure.
sudo Permite la ejecución de comandos como otro usuario. La opción -k limpia el caché de credenciales, -l muestra los permisos del usuaruio y -i inicia sesión como superusuario.
ssh-keygen Genera y manipulas llaves de autenticación SSH. Con este comando se generaron los archivos equipo_redes_rsa y equipo_redes_rsa_pub que permiten conectarse a la máquina virtual sin necesidad de contraseña.
hostnamectl Consulta y cambia el hostname del equipo y sus opciones de configuración. Se usó para darle el hostname tacosdorados.cf a la máquina virtual.
timedatectl Consulta y cambia el reloj del sistema y sus opciones de configuración. Se usó para establecer la zona horaria de la CDMX a la máquina virtual.
dpkg-reconfigure Reconfigura un paquete previamente instalado. Se usó para cambiar las opciones del paquete locales, para los mensajes de localización en la máquina virtual.
install Copia archivos y establece atributos. Con este comando se instaló la llave pública para permitir la autenticación por SSH.
apt Provee una interfaz de la línea de comandos para el sistema de administración de paquetes. Utilizado para las actualizaciones e instalación de software en la máquina virtual