miércoles, 6 de diciembre de 2023

Editor nano - personalizado

El editor Nano (a partir de ahora le llamaremos: nano), se creó para usar en emuladores y terminales tty de unix / linux, es decir no se necesita un entorno gráfico para poderlo usarlo, ya que usa las librerías gráficas en modo texto llamada: ncurses, también tiene la facultad de poder usar el ratón (siempre y cuando lo tengas configurado en los emuladores y terminales tty).

Nano es muy fácil de usar, ya que podemos introducir texto plano, nada más ejecutar el programa, y podemos desplazarnos por el texto, usando las teclas de los cursores (flechas) o bien usando el ratón (siempre que esté configurado) o usando las combinaciones de teclas rápidas.

El texto, se puede formatear, colorear, marcar, seleccionar, copiar, cortar, pegar, suprimir, comentar y descomentar líneas, y un largo número de opciones, la interfaz del programa también se puede configurar a medida, según nuestros gustos y/o necesidades.




Por defecto el programa viene en color blanco sobre fondo negro, incluye en la parte superior la barra de título del archivo que estamos editando, en la parte inferior nos encontramos con el prompt del programa (es la línea que nos pregunta qué vamos a hacer. Por ejemplo: ¿desea guardar los cambio?) . Contamos con recordatorio de teclas rápidas. Nano detecta el tipo de contenido y lo formatea con colores para que sea más fácil la lectura.

En la imagen inferior, vemos la configuración de nano por defecto, y estamos viendo el contenido del fichero: /etc/apt/sources.list


Pero nano, es mucho más potente de lo que se ve. Se puede cambiar los colores, habilitar el ratón, quitar la barra de títulos, o quitar el recordatorio de teclas rápidas, podemos habilitar la numeración de las líneas, los espacios y tabuladores, etc... como acabamos de leer nano es muy potente, y en este manual vamos a explicar como cambiar el color, como habilitar la numeración de líneas, y como habilitar el uso del ratón.

Podemos usar algunas opciones sin tener que configurarlas previamente, como por ejemplo la numeración de líneas. Vamos al ejemplo anterior, una vez que estamos editando el archivo.

NOTA MUY IMPORTANTE: Dependiendo de la configuración de tu teclado en la consola TTY, en el sistema operativo, en el emulador de TTY como Konsole, tendrás que usar una combinación u otra del teclado. Solo cambiaran el uso de las teclas: Ctrl, Alt, Meta. La tecla Meta es aquella que tiene el logotipo de windows.

Ejemplo real: Dependiendo de donde estes usando nano (TTY, Konsole, etc..) Tienes que dejar pulsada una de estas tres teclas (Ctrl, Alt, Meta) y luego pulsas la tecla N, se habilita la numeración de páginas, si vuelves a pulsar la misma combinación de teclas se vuelve a deshabilitar. 


Nano puede ejecutarse sin necesidad de un entorno gráfico, es decir directamente desde consola, esto significa que aunque el sistema operativo no arranque con el entorno gráfico, nosotros podemos solucionar dicho problema o error, editando y modificando archivos, usando el editor nano.

Podemos realizar la configuración para un solo usuario, o para todos los usuarios del sistema operativo.

Para realizar la personalización, vamos a usar el mismo editor nano.



Veamos la diferencia entre:

~/.nanorc = solo para cada usuario del sistema operativo
/etc/nanorc = para todos los usuarios del sistema operativo


~/.nanorc es un archivo oculto dentro de nuestra carpeta personal (/home/tu_nombre_de_usuario) ~/.nanorc , la configuración de este archivo tiene prioridad sobre el archivo: /etc/nanorc. El archivo ~/.nanorc no existe, tenemos que crearlo nosotros mismo, usando alguno de los comando de linux: touch, nano, etc.. Personalmente prefiero copiar el archivo: nanorc de la carpeta: /etc en nuestro directorio /home (para luego solo tener que hacer las modificaciones, ya que incluye todas las opciones), para ello usamos el siguiente comando:

cp /etc/nanorc ~/.nanorc

/etc/nanorc, este archivo, tiene la configuración de nano para todos los usuarios del sistema operativo. No funcionará la configuración de este archivo, si en nuestra carpeta personal (/home) tenemos un archivo oculto llamado: .nanorc (si existen dos configuraciones diferentes en ambos archivos, tiene prioridad el del usuario: .nanorc)



Vamos a configurar nano


Como hemos dicho antes, puedes usar cualquiera de los dos ficheros antes descrito. Pero recuerda que si haces la modificación en el archivo: /etc/nanorc, antes haz una copia de seguridad para no perder la configuración original. Mi recomendación es que cada usuario configure el programa como a él más le guste o necesite. Entonces nosotros vamos a usar el archivo: ~/.nanorc

Primero vamos a copiar el archivo original, a nuestra carpeta personal, usando el siguiente comando:


cp /etc/nanorc ~/.nanorc


Ahora vamos a realizar la configuración de nano, usando el mismo nano, para ello usamos el siguiente comando:


nano .nanorc


Ahora veremos un fichero muy largo, con el texto en blanco o en color, dependiendo del sistema operativo. En Debian, nano incluye por defecto el resaltado de sintaxis del texto, entonces nosotros veremos el texto en varios colores distintos (cada color indica una cosa, si es un comentario, una variable, una opción, etc...).

Por defecto casi todas las líneas vienen comentadas (son aquellas líneas que comienzan, por el símbolo almohadilla: # ), y las pocas líneas que no tiene el comentario, quiere decir que se encuentran activadas por defecto.

Que una opción la tengamos activa o no activa, no significa que no la podamos usar en cualquier momento. Me explico: por defecto la numeración de líneas no viene activada por defecto, pero si necesitamos saber el número de una línea en un momento en particular, pulsamos la combinación de teclas: Alt + N, o bien la tecla de windows (llamada Meta en linux) + N, o bien pulsamos la tecla Esc + N, para que nos aparezca la numeración de líneas. Para quitar la numeración volvemos a pulsar la misma combinación de teclas.

La combinaciones de teclas siempre es la misma en el programa nano, pero puede que algunas combinaciones de teclas no funcione dependiendo del entorno de escritorio que estemos usando. Ahora bien en los terminales tty, las combinaciones de teclas funcionan todas, ya que no existe ningún entorno de escritorio que de conflictos con el programa nano. Todas las combinaciones de tecla se encuentran en el menú de ayuda del programa nano. Para ver el menú de ayuda, tenemos que pulsar la combinación de teclas: Ctrl + G, o pulsar la tecla F1.

Como ya hemos visto la numeración de líneas, que por defecto no viene activada, pues si quieres que aparezca por defecto, buscamos la línea 75 que estará comentada: # set linenumbers y le borramos el símbolo de almohadilla dejando la línea activa por defecto: set linenumbers



La siguiente y última configuración que personalmente suelo hacer es cambiar los colores (prefiero el color antes que el blanco y negro) y bajamos hasta la línea: 212 hasta 222, en esas líneas, seleccionaremos los colores del programa (cada uno que lo configure con los colores que mas le gusten).

Los colores que se pueden usar son 8 y se escriben en inglés: black, white, red, green, blue, magenta, yellow y cyan. Si quieres un color mas vivo, le escribes delante la palabra: light, lightred, lightwhite, etc.. para hacer que la letra sea negrita, usamos el comando: bold y si queremos que tenga un color de fondo y letra distintos, lo escribimos juntos separado por una coma.


212 set titlecolor bold,white,magenta
213 set promptcolor bold,white,green
214 set statuscolor bold,white,magenta
215 set errorcolor bold,white,red
216 set spotlightcolor black,lightyellow
217 set selectedcolor lightwhite,magenta
218 set stripecolor ,yellow
219 set scrollercolor cyan
220 set numbercolor bold,white,magenta
221 set keycolor bold,lightwhite,magenta
222 set functioncolor white



Una vez que hayamos terminado de configurar a nuestro gusto el archivo .nanorc, tenemos que guardar los cambios. Para ello pulsamos la combinación de teclas Ctrl O, o pulsamos la tecla F3 y a continuación pulsamos la tecla intro. Para cerrar el programa nano, pulsamos la tecla F2 o bien la combinación de teclas Ctrl + X

Podemos cambiar los colores de otras partes del editor de texto. Aparte de titlecolor, hay otras opciones como: statuscolor, keycolor, functioncolor o numbercolor. Estas opciones se utilizan de la misma manera que la opción de color para el título.






Menú de Ayuda, en nano

Para una información más en detalle, se puede consultar la página man de nanorc o usar la ayuda el propio editor pulsando la tecla F1


















domingo, 5 de noviembre de 2023

Gestión de redes en Debian: NetworkManager - interfaces

Durante el proceso de instalación de Debian, la red se configura al principio de la instalación, se guarda la configuración de red en un archivo de texto plano. Y dependiendo de quien gestione la red: NetworkManager o interfaces, la configuración se guarda en una carpeta y un fichero diferente.

1- NetworkManager: /etc/NetworkManager/system-connections
2- interfaces: /etc/network/interfaces

Este archivo se lee en el proceso de arranque del sistema operativo. solo lo puede editar y modificar el usuario administrador del sistema, por defecto es el usuario: root

NOTA MUY IMPORTANTE: No se puede usar los dos gestores de redes a la misma vez, pues dará conflictos entre ellos. En una instalación nueva, no se tiene que desactivar nada, ya que Debian configura una de ellas, dependiendo de si usa entorno de escritorio o una consola de comandos.

1- Si está usando NetworkManager, se tiene que desactivar las entradas en: /etc/network/interfaces

2- Si está usando interfaces, se tiene que desactivar las entradas en: /etc/NetworkManager/system-connections


Diferencia entre NetworkManager e interfaces

- NetworkManager: es un servicio que administra los dispositivos y conexiones de red. Proporciona una interfaz gráfica de usuario (GUI) para administrar la configuración de red, así como una interfaz de línea de comandos (CLI) para administrar redes desde la línea de comandos. Se puede configurar a nivel de usuario. Por defecto le da preferencias a las conexiones por cable (ethernet o usb) antes que las inalámbricas (WiFi o Bluetooth).

- Interfaces: son las conexiones físicas o virtuales que permiten que un ordenador se comunique con otros dispositivos en una red. Los ejemplos de interfaces incluyen: Ethernet, Wi-Fi, Bluetooth y USB. Solo lo puede configurar el usuario administrador.

NOTA: La principal diferencia entre NetworkManager e interfaces es que NetworkManager es una abstracción de nivel superior que administra las interfaces de red en el sistema operativo. Se ocupa de tareas como activar y desactivar interfaces, asignar direcciones IP y realizar la configuración de red. Por otro lado, las interfaces son las conexiones físicas o virtuales que permiten que una computadora se comunique con otros dispositivos en la misma red.


Instalación automática

1- Durante la instalación de Debian, se instalará NetworkManager: en las instalaciones por defecto que usen un entorno de escritorio, como puede ser: kde plasma, gnome, etc... Normalmente no se requiere ninguna configuración para una conexión alámbrica DHCP por cable ethernet. Si se requiere una configuración para una interfaz inalámbrica Wi-Fi, y creará un archivo específico con la configuración en:

/etc/NetworkManager/system-connections.

Cuando Debian se conecta por primera vez a una red, por defecto, crear una carpeta llamada: system-connections (Conexiones del sistema). Y dentro va creando archivos con cada una de las conexiones que realicemos (Ethernet, WiFi,USB, Bluetooth, etc..). Nosotros podemos editar y modificar el contenido de dicho archivo usando alguna aplicación en modo gráfico (o desde consola), en el caso de de KDE Plasma el programa se llama: plasma-nm

- Conexión por cable (Ethernet), por defecto se crea automáticamente un archivo llamado: 'Wired connection 1' Las configuraciones de red ethernet, suelen ser automáticas ya que por defecto usa el protocolo DHCP y se conecta a la primera red que encuentra, pero nosotros podemos crear y/o editar dicha configuración a mano. 

NOTA: aunque nosotros le cambiemos el nombre a la conexión por cable (ethernet), el fichero se va a seguir llamando: 'Wired connection 1' ya que el nombre se cambia dentro del archivo, en el apartado: [connection] en la variable id= nombre_que_le_demos




- Conexión inalámbrica (WiFi), esta configuración siempre es manual, ya que 
somos nosotros los que seleccionamos la red a la que nos vamos a conectar, y conocemos previamente los datos de: SSID, usuario y contraseña, que son necesarios para la conexión. Se crea un nuevo fichero dentro de: system-connections con la siguiente estructura: nombre_del_SSID.nmconnection. Lo que cambia es el nombre_del_SSID. Ejemplo: mi_wifi.mnconnection




2- Durante la instalación de Debian, se instalará interfaces: en las instalaciones sin escritorio, como Servidores o sistemas sin entorno de escritorio.

El instalador configura interfaces, creando el archivo: /etc/network/interfaces

Cuando hay muchas interfaces, es una buena práctica mantener la configuración en diferentes archivos dentro: /etc/network/interfaces.d/



Interfaz de red

Normalmente casi todos los ordenadores actuales, están conectados a internet, la configuración de la interfaz de red se realiza durante la instalación del sistema operativo Debian GNU/Linux.

Cuando usamos el término: Interfaz de red, nos estamos refiriendo al hardware de red que tiene nuestro ordenador, para conectarnos a una red (internet, local, etc...), algunas de estas interfaces son: Ethernet, WiFi, USB, Bluetooth, etc..





También existe una interfaz llamada: loopback, que el sistema operativo utiliza para establecer una conexión consigo mismo.

Para que podamos conectarnos a una red (internet, local, etc..), y compartir información, tenemos que configurar correctamente unos parámetros. En caso contrario no podemos conectarnos a dicha red.

Los ordenadores de sobremesa y los portátiles suelen tener dos o tres interfaces de red (Ethernet, WiFi, USB y un loopback). Los servidores suelen tener muchas más interfaces de red.

Existen varios comandos para ver las interfaces de red que tiene nuestro ordenador:

- ip link show
- nmcli device show
- nmtui



Nombres de interfaces de red

Antiguamente las interfaces de red ethernet se nombraban y numeraban según el orden, en que el kernel identifica las interfaces, las interfaces alámbricas o cableadas (Ethernet o USB) como: eth0, eth1, etc... Las interfaces inalámbricas (WiFi o Bluetooth) se nombraban como: wlan0, wlan1, etc..

Actualmente y con el uso de systemd, las interfaces de red emplean una convención de nomenclatura diferente, estableciendo una relación entre el nombre de la interfaz y la conexión física del hardware.

Los nombres de interfaz de red comienzan con un prefijo de dos caracteres que significa el tipo de interfaz.

Prefijos del nombre de la interfaz de red:

- en : Ethernet
- ib : InfiniBand
- sl : Serial line IP (slip)
- usb: Universal Serial Bus (USB)
- wl : Wireless local area network (WLAN)
- ww : Wireless wide area network (WWAN)



Orden para nombrar y numerar las interfaces de red:.

1.- Proporcionado por la BIOS / UEFI. por ejemplo: eno1.
2.- Puerto al que está conectado, como indica la BIOS / UEFI, por ejemplo: ens1.
3.- Dirección correspondiente al bus de conexión, por ejemplo: enp3s5.
4.- Dirección MAC de la interfaz, por ejemplo: enx78e7d1ea46da.
5.- Usando el nombre antiguo, por ejemplo: eth0.



Gestión de las interfaces de red

/etc/network/interfaces

Antes de usar systemd, se usaba el comando: ifconfig, aunque todavía se puede utilizar para realizar configuraciones y consultas a las interfaces de red, ahora se considera obsoleto, debido que era limitado en la gestión de interfaces WiFi. El comando: ifconfig es sustituido por el comando: ip, ya que gestiona mejor las interfaces de red.

El comando: ip contiene muchas opciones, por lo que existen comandos para la activación y configuración de las interfaces de red.

Los comandos: ifup y ifdown, se ejecutan automáticamente durante el arranque del sistema. Se utilizan para configurar las interfaces de red que se encuentran presentes en el fichero:

/etc/network/interfaces

Algunas de las opciones más comunes son:
  • auto: Indica al sistema que encienda automáticamente la interfaz de red cuando arranque el sistema.
  • iface: Define el nombre de la interfaz de red.
  • address: Define la dirección IP de la interfaz de red.
  • netmask: Define la máscara de subred de la interfaz de red.
  • gateway: Define la puerta de enlace predeterminada para la interfaz de red.
  • dns-nameservers: Define los servidores DNS que utilizará la interfaz de red.
- las líneas que comienzan con la palabra: auto se utilizan para identificar las interfaces físicas que se van a activar cuando se ejecute ifup con la opción -a. Todas las interfaces marcadas como: auto se activan durante el arranque del sistema operativo, en el orden en que aparecen en la lista.

- El nombre de la interfaz debe seguir a la palabra: auto en la misma línea.

- La configuración real de la interfaz se escribe en otra línea, empezando por la palabra: iface, seguida del nombre de la interfaz de red, el nombre de la interfaz y el nombre del método utilizado para configurar la interfaz. El siguiente ejemplo muestra un fichero de configuración básico para las interfaces lo (loopback) y enp3s5:

auto lo
iface lo inet loopback

auto enp3s5
iface enp3s5 inet dhcp


En redes sin servidor DHCP, se puede utilizar el método static en su lugar y proporcionar la configuración IP manualmente en: 

/etc/network/interfaces.

Por ejemplo:

iface enp3s5 inet static
address 192.168.1.2/24
gateway 192.168.1.1

o

iface enp3s5 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1


Las interfaces que utilizan el método: static, no necesitan una directiva: auto, ya que se activan siempre que se detecta el hardware de la red. Si la misma interfaz tiene más de una entrada iface, entonces todas las direcciones y opciones configuradas se aplicarán al abrir esa interfaz. Esto es útil para configurar tanto direcciones IPv4 como IPv6 en la misma interfaz, así como para configurar múltiples direcciones del mismo tipo en una sola interfaz.




/etc/NetworkManager/system-connections

NetworkManager
hace que la configuración de la red sea automática, y muy fácil. Cuando tenemos la posibilidad de conectarnos por cable (ethernet) e inalámbricas (WiFi), NetworkManager por defecto da prioridad a la conexión por cable (ethernet) y luego a la inalámbrica (WiFi) intentando mantener al menos una conexión activa todo el tiempo, siempre que sea posible.


NetworkManager controlará las interfaces de red, que no se encuentren configuradas en el fichero: /etc/network/interfaces. Esto es así, para no interferir la configuración de: /etc/NetworkManager/system-connections con la configuración de: /etc/network/interfaces.

Gestionar NetworkManager solo lo puede hacer el usuario root. Pero los usuarios normales, pueden usar aplicaciones clientes para crear y modificar las conexiones de red, dichas aplicaciones viene de serie en los entornos de escritorios de GNU/Linux, como son: nm-tray, network-manager-gnome, nm-applet o plasma-nm, (se encuentran, en un icono en la esquina derecha la barra de tareas del escritorio (superior o inferior, dependiendo del entorno de escritorio) o en el centro del control de configuración del sistema.

Las aplicaciones clientes de configuración de NetworkManager, se encuentran, tanto en modo gráfico, como en modo texto para usar en una consola de comandos. Para la consola de comandos usaremos:

- mncli: Interfaz de línea de comandos para NetworkManager. Este comando es el más potente.

- mntui: Interfaz de usuario en modo texto para NetworkManager


Recordemos, la carpeta: /etc/NetworkManager/system-connections es un directorio que contiene los archivos de configuración para las conexiones de red administradas por NetworkManager. Los archivos de configuración en este directorio se denominan: perfiles y cada perfil contiene la configuración para una conexión de red específica.

Los perfiles de NetworkManager están escritos en un formato de texto plano. Cada perfil contiene una serie de opciones que definen la configuración de la conexión de red (ethernet, wifi). 

Algunas de las opciones más comunes incluyen:

=====================
[connection]
id= Define la red a la que nos vamos a conectar.
type= Define el tipo de conexión de red (ethernet, wifi y vpn).
interface-name= Define la interfaz de red que se utilizará para la conexión.
autoconnect= Define que conecte automáticamente al arrancar el sistema.

[ethernet]
address= Define la dirección IP de la conexión de red.
netmask=Define la máscara de subred de la conexión de red.
gateway= Define la puerta de enlace predeterminada para la conexión de red.

[wifi]
mode= Define el modo de conexión a la red
ssid= Define el SSID de la red Wi-Fi a la que se conectará la conexión.

[wifi-security]
auth-alg= Define el algoritmo de autenticación de la red
key-mgmt= Define el tipo de clave usada para la red (wap, wpa-psk, etc...)
psk= Define la contraseña de la red Wi-Fi a la que se conectará la conexión.

[ipv4]
method= Define el método para la conexión

[ipv6]
addr-gen-mode= Define el método para la conexión
method= Define el método para conexión
ip6-privacy= Define 0,1 ó 2 para habilitar la dirección temporal

[proxy]
=====================

Para que los cambios surtan efecto, reiniciamos el ordenador o mejor aún, reiniciamos el servicio, usando el siguiente comando:

nmcli connection reload <perfil-id>

Aquí hay un ejemplo de un perfil de NetworkManager que configura una conexión de red Ethernet con una dirección IP de 192.168.1.10, una máscara de subred de 255.255.255.0 y una puerta de enlace de 192.168.1.1:

[connection]
id=eth0
interface-name=eth0
type=ethernet
autoconnect=true

[ethernet]
address=192.168.1.2
netmask=255.255.255.0
gateway=192.168.1.1




==============================================================

Servicios de red en el escritorio de Debian

Comúnmente la interfaz: lo, se inicializa mediante el servicio: networking.service y el resto de las interfaces de red (para los entornos de escritorio: kde plasma, gnome, etc... usando systemd), se inicializa mediante el servicio: NetworkManager.service.

systemctl status networking
service networking status

systemctl status NetworkManager
service NetworkManager status

Debian en entornos de escritorios, gestiona la conexión de red mediante el servicio: NetworkManager (nm)

Ellos tienen sus propios interfaz gráfico de usuarios y programas de línea de órdenes como interfaces de usuario.
  • Tienen su propio demonio así como su motor de sistema.
  • Permiten la conexión sencilla entre su sistema e Internet.
  • Permiten la gestión sencilla de la configuración inalámbrica y cableada.
  • Nos permiten configurar la red de forma independiente del histórico paquete ifupdown.

1- Nota muy importante: No use las herramientas de configuración de red automática para servidores. Ya que están pensadas para escritorios, móviles y portátiles.


2- NOTA IMPORTANTE EN AUTOCOMPLETADO:
Para el uso de la tecla tabulación, es decir autocompletado de comandos, en consola o tty, para nmcli, hay que instalar el paquete: bash-completion






domingo, 1 de octubre de 2023

KMail: correo de Gmail y protocolo POP3

Vamos a realizar este manual, porque a fecha en el que se crea este tutorial de configuración (septiembre de 2023) de KMail con correo de Gmail y protocolo POP3, con las nuevas políticas de seguridad de google. Leo en internet que los usuarios no saben como configurar kmail, y se quejan que no reconocen sus contraseñas, etc... y acaban diciendo que KMail no funciona.



Vamos a conocer lo siguientes términos:
  • kmail
  • pop3
  • smtp
  • 2fa
  • contraseña de aplicación
  • inicio de sesión con google

 ¿Que es KMail? 

KMail es un cliente de correo electrónico de última generación que se integra bien con proveedores de correo ampliamente usados, como GMail. Proporciona varias herramientas y funciones para maximizar la productividad y hacer que resulte fácil y rápido trabajar con grandes cuentas de correo. KMail implementa una gran variedad de protocolos de correo electrónico: POP3, IMAP y Microsoft Exchange (EWS), entre otros.

Funcionalidades:
  • Seguro: KMail dispone de preferencias predeterminadas seguras para proteger su privacidad, una buena implementación de cifrado de extremo a extremo y detección de correo basura.
  • Potente: Sus características incluyen el uso sin conexión, múltiples identidades del remitente, uso de varios idiomas, potente filtrado, funcionalidad de búsqueda y etiquetado, gestión de listas de correo y una configuración muy flexible.
  • Integrado: Las invitaciones a reuniones se pueden añadir fácilmente como eventos en KOrganizer, la completación automática de direcciones, los avatares y las preferencias de cifrado se cargan de KAddressBook.
  • Compatible con los estándares: Implementa protocolos estándares de correo, envío de mensajes, filtrado en el servidor, así como OpenPGP, PGP/MIME y S/MIME en línea.
NOTA MUY IMPORTANTE: Desde hace un tiempo atrás Google modificó las políticas de seguridad para el gestor de correos Gmail, intentando que los usuarios solo usen su gestor de correos, y no aplicaciones de tercero (empresas y desarrolladores ajenos a Google). Para poder usar aplicaciones de tercero como KMail, google obliga a usar si o si, el segundo factor de autenticación (2FA) y además obliga a usar si o si, lo que ellos llaman: Contraseñas de aplicaciones o inicio de sesión en Google.


 ¿Que es el protocolo POP3? 

El protocolo POP3 (en inglés: Post Office Protocol, en español: 
Protocolo de Oficina Postal o Protocolo de Oficina de Correo). El número 3 hace referencia a la versión 3 de dicho protocolo), se usa en programas clientes de correo para obtener los mensajes de correo electrónico almacenados en un servidor remoto, denominado Servidor POP o POP3.

Las versiones del protocolo POP, informalmente conocido como POP1 (RFC 918) y POP2, (RFC 937) se han quedado obsoletas debido a las últimas versiones de POP3. En general cuando se hace referencia al término POP, se refiere a POP3 dentro del contexto de protocolos de correo electrónico.

POP3 está diseñado para recibir correo, esto le permite a los usuarios con conexiones intermitentes o muy lentas (tales como las conexiones por módem), descargar su correo electrónico mientras tienen conexión a internet y revisarlo posteriormente incluso estando desconectados.

Algunos clientes de correo (como KMail) incluyen la opción de dejar los mensajes en el servidor, con lo cual te descargas una copia de los mensajes en tu ordenador. Esta es la opción que recomendamos y que vamos a configurar en este manual.

Pero el funcionamiento general por defecto es: un cliente (KMail) que utilice el protocolo POP3 se conecta al servidor, obtiene todos los mensajes, los guarda en tu ordenador como mensajes nuevos, acto seguido los borra del servidor y finalmente se desconecta del servidor. Aunque nosotros nos vamos a descargar una copia, dejando el original en el servidor, borrandolos a mano pasados un tiempo que a nosotros nos interese.


 ¿Que es SMTP? 

El protocolo SMTP (en inglés: Simple Mail Transfer Protocol, en español: Protocolo Simple de Transferencia Postal o de Correo) es un protocolo de envío de mensajes de correo electrónico. Los mensajes pueden pasar por uno o varios servidores SMTP hasta llegar a su destino final, normalmente un buzón de correo.

SMTP está diseñado para enviar correo, esto le permite a los usuarios con conexiones intermitentes o muy lentas (tales como las conexiones por módem), enviar el correo electrónico a su destinatario, mientras tienen conexión a internet.


 ¿Que es 2FA? 

2FA (two factor authentication, en español: segundo factor de autenticación), es el método más extendido en la actualidad para acceder a cuentas de correo (y a muchos otros servicios, pero nosotros ahora nos estamos centrando en el correo electrónico) de Gmail, pero generalmente se solicita que el usuario active voluntariamente esta capa de protección adicional.​

Es un método que confirma que un usuario es quien dice ser, combinando dos componentes diferentes de entre:
  • Algo que saben (una contraseña)
  • Algo que tienen (un smartphone, un pc, etc..)
  • Algo físico de la persona. (huella dactilar, escaneo facial, etc...)

 ¿Qué son las Contraseñas de aplicación? 

Una contraseña de aplicación es una contraseña de 16 dígitos que concede permiso a una aplicación o a un dispositivo menos seguros para acceder a tu cuenta de Google. Estas contraseñas solo se pueden utilizar con cuentas que tengan activada la verificación en dos pasos. (2FA)

Nota Muy Importante: 
  1. Las contraseñas de aplicación no son recomendables y, en la mayoría de los casos, no son necesarias para usar el correo de Gmail.
  2. Para proteger tu cuenta de Gmail y conectar las aplicaciones a tu cuenta de Google, utiliza la opción: Iniciar sesión con Google. 
  3. Cuando cambias la contraseña de tu cuenta de Google, automáticamente se revocan las contraseñas de aplicación (que estés usando actualmente). Y tendrás que generar nuevamente las contraseñas de aplicaciones.



 Inicio de sesión con google 

La función Iniciar sesión con Google te ayuda a iniciar sesión de forma fácil y segura en aplicaciones o servicios de terceros con tu cuenta de Google. Al utilizar Iniciar sesión con Google, no es necesario introducir una y otra vez el nombre de usuario y la contraseña en diferentes servicios.

Importante: Para usar Iniciar sesión con Google, necesitas una cuenta de Google. Tu cuenta de Google es la misma que usas en Gmail, Drive y otras aplicaciones de Google.

Información: Con "terceros" google se refiere a empresas o desarrolladores que NO forman parte de Google. Comparte tus datos solo con terceros en los que confíes.

Sabemos que el método más fácil y seguro de usar la cuentas de google es usando: inicio de sesión con google. Pero nosotros en este manual vamos a explicar como usar las contraseñas de aplicación. Ya que es un método más complejo de implementar.


=========================================================


 1.-  Activar y configurar el protocolo POP3 en gmail 

El protocolo POP3, los correos no se sincronizan en tiempo real, sino que se descargan del servidor. Tú decides con qué frecuencia quieres que se descarguen los mensajes nuevos. (5 minutos, 15 minutos, etc...), Google recomienda que se configure mínimo: 5 minutos. 

1.1.- Abre navegador de internet, y ve al buscador de google o directamente a gmail

1.2.- Arriba a la derecha, haz clic en gmail


1.3.- Haz clic en el icono del engranaje (Configuración)


1.4.- luego en Ver todos los ajustes.


1.5.- Haz clic en la pestaña Reenvío y correo POP/IMAP.

En el apartado Descarga de correo POP, selecciona Habilitar POP para todos los mensajes o Habilitar POP para los mensajes que se reciban a partir de ahora.


1.6.- Haz clic en el botón Guardar cambios, situado al final de la página.


Debajo muestro configuración que requiere Gmail para funcionar en KMail 

Servidor de correo entrante (POP)

pop.gmail.com

Requiere SSL: sí

Puerto: 995

Servidor de correo saliente (SMTP)

smtp.gmail.com

Requiere SSL: Sí

Requiere TLS: Sí (si está disponible)

Requiere autenticación: Sí

Puerto para SSL/TLS o STARTTLS: 465 ó 587

Si usas Gmail con una cuenta de tu trabajo o centro educativo, pídele la configuración SMTP correcta a tu administrador.

Tiempo de espera del servidorMás de 1 minuto (se recomiendan 5)
Nombre completo o nombre mostradoTu nombre
Nombre de la cuenta, nombre de usuario o dirección de correo electrónicoTu dirección de correo electrónico
ContraseñaTu contraseña de Gmail




 2.- Iniciar sesión con contraseñas de aplicación 

Muy importante: Para crear una contraseña de aplicación, tenemos que habilitar la verificación en dos pasos en la cuenta de Google.

Si utilizas la verificación en dos pasos y aparece el error: Contraseña incorrecta al iniciar sesión, eso significa que tienes que utilizar una contraseña de aplicación.

El proceso a realizar es el siguiente: 

2.0.- Abre una navegador de internet y ve al buscador de Google

2.1.- Pulsa en el icono de tu cuenta de Google > Gestionar tu cuenta de Google


2.2.- Haz clic en Seguridad.


2.3.- A la derecha, ve al apartado: Cómo inicias sesión en Google, haz clic en: Verificación en dos pasos.


Por seguridad te va a pedir que introduzcas la contraseña de tu cuenta de google, y pulses en  Siguiente  para continuar.


2.4.- Nos aparece la pantalla: Verificación en dos pasos y nos informa que la verificación está activada.


2.5.- En la parte inferior de la página, seleccionamos: Contraseñas de aplicaciones.


2.6.- Hacemos clic en el desplegable: Seleccionar aplicación


Puedes seleccionar: Correo, aunque yo prefiero seleccionar: Otra (nombre personalizado)


Escribe 
un nombre que te ayude a recordar dónde vas a utilizar la contraseña de aplicación. Lo mejor es poner el nombre del programa en el que lo vamos a usar: kmail y hacemos clic en  GENERAR 


2.7.- Nos muestra una pantalla de este estilo. 
La contraseña de aplicación es un código de 16 caracteres. Seleccionamos con el ratón dicho código, y lo usamos en la configuración de kmail. 

Aconsejo copiar el código, en kate o writer o libreoffice, etc.., o cualquier otra aplicación antes de pulsa en HECHO y cerrar la ventana. Pues ya no tendrás el código a la vista. (y si no lo has copiado, tendrás que generar el código nuevamente). 

NOTA: El código que aparece en la imagen inferior, no es real es ficticio, es creado por el editor para este manual.


2.8.-  Al pulsar en HECHO nos aparece la siguiente ventana. En la cual podemos observar, el nombre de la contraseña de aplicación que hemos creado y usado. llamada: kmail


NOTA IMPORTANTE: Si has configurado la verificación en dos pasos, pero no encuentras la opción para añadir una contraseña de aplicación, puede deberse a lo siguiente:
  • Tu cuenta de Google tiene la verificación en dos pasos configurada solo para llaves de seguridad.
  • Has iniciado sesión en una cuenta del trabajo, de un centro educativo o de otra organización.
  • Tu cuenta de Google tiene Protección Avanzada.
Nota: Normalmente, tendrás que introducir una contraseña de aplicación una vez por aplicación o dispositivo.



 3.- Configurar kmail 

La primera vez que ejecutamos KMail, nos aparece un asistente, en el cual podemos configurar una cuenta de correos. Si ya tienes una cuenta de correos configurada, y necesitas configurar una o varias cuentas más, el proceso es muy fácil y sencillo.

Nosotros vamos a configurar una Cuenta de correos, y nos vamos a centrar en el apartado: Cuentas y vamos a configurar: Identidades, Recepción y Envíos.

Breve explicación de cada apartado:
  • Identidades: Es el nombre que le vamos a dar a cada cuenta de correo electrónico que hemos configurado.
  • Recepción: Es el protocolo POP3 que vamos a usar para descargar los mensajes del servidor hasta nuestro ordenador para poder leerlos.
  • Envíos: Es el protocolo SMTP que vamos a usar para enviar correos electrónicos a otras personas, empresas, organismos, etc...
Para empezar a configurar una o varias cuentas, tenemos que hacer el siguiente proceso:

1- Abrimos el programa KMail, si es la primera vez nos aparecerá un asistente para configurar la primera cuenta. Si ya has configurado una cuenta, o has cerrado el asistente, nos aparecerá el programa KMail. Entonces para configurar una cuenta, tenemos que irnos al Menú superior: Preferencias > Configurar KMail...


2.0.- Nos aparecerá una ventana, y estaremos posicionados en el apartado: Cuentas.
Podemos ver cuatro pestañas: Identidades, Recepción, Envío y Servidor LDAP, las tres primeras: Identidades, Recepción, Envío, son las que vamos a usar (antes ya hemos explicado en que consiste cada pestaña.)

La pestaña: Servidor LDAP. Se usará en ordenadores con tecnología LDAP o Active Directory. 

Breve explicación LDAP: en inglés: Lightweight Directory Access Protocol, en español: Protocolo Ligero de Acceso a Directorios, es un protocolo que permite el acceso a un servicio de directorio ordenado y distribuido, para buscar información en un entorno de red (En este caso en particular se refiere al correo electrónico). En un entorno windows se llama: Active Directory (Directorio Activo)

Como podemos ver en la captura de pantalla anterior, no tenemos límite de uso de Identidades, ni de Recepción y de Envíos.


2.1.- Pestaña Identidades. Para configurar una Identidad, hacemos clic en Añadir... o seleccionamos una identidad ya existente haciendo clic con el ratón y pulsamos en la opciones de la derecha, en Modificar


Las opciones de la pestaña Identidades son muy intuitivas. Rellenamos los campo de: su nombre, Organización, Dirección de correo, Alias de Correo.

No es necesario rellenarlos todos, mínimo obligatorio, es rellenar el campo Dirección de correo.


En la pestaña Cifrado, puedes definir las claves OpenPGP o los certificados S/MIME. Cada servidor de correos es distinto, y tiene opciones diferente. En este manual estamos usando la opción: Sin clave, en los apartados certificado

Opcionalmente, puede ir a la pestaña Firma, puede introducir un texto o una imagen. Se trata de un texto breve o imagen que se añadirá automáticamente a todos sus mensajes. No tiene nada que ver con las firmas digitales.


En la pestaña Avanzadas, vemos la configuración de dicha cuenta, es decir, donde se encuentra las carpetas: Correos enviados, Borradores, Plantillas, etc...


Podemos rellenas las tres pestañas que faltan, pero no es necesario ni obligatorio. 

Observación: En la pestaña Firma. Se refiere a poder escribir un breve texto, como el saludo de despedida, en el que se incluya nuestro nombre, nuestro numero de teléfono, etc... que se añadirá automáticamente en todos los mensajes de salida. No tiene nada que ver con las firmas digitales que es otra cosa totalmente distinta.


2.2- Pestaña Recepción, aquí vamos a configurar como recibir el correo electrónico desde el servidor de Gmail. Descargando una copia y dejando el original en dicho servidor.

Para configurar una Recepción, hacemos clic en Añadir... o seleccionamos una Recepción (cuenta de correo electrónico) ya existente haciendo clic con el ratón y pulsamos en la opciones de la derecha, en Modificar


Para configurar una cuenta de forma que podamos recibir correos, hacemos clic en Añadir...  
Recordamos que vamos a configurar el servidor POP3, entonces seleccionamos POP o POP3 (según aparezca en pantalla). 

Acto seguido nos aparecerá la ventana en la pestaña General, con la Información de la cuenta

Procedemos a rellenar los campos que nos aparece: 
  • Nombre de la cuenta: algo que defina dicha cuenta. El mismo correo
  • Servidor de correo entrante: pop.gmail.com
  • Nombre de usuario: tu correo electrónico de Gmail
  • Contraseña: Aquí es donde ponemos la contraseña que generamos al principio de este manual, la llamada: La contraseña de aplicación (es un código de 16 caracteres)
Tenemos que marcar, Activar intervalo de comprobación de correo: minimo tiene que estar en 5 minutos, si configuramos menos tiempo, el servidor de Gmail dará error.


Pestaña Avanzado, en Preferencias POP, marcamos: Dejar los mensajes obtenidos en el servidor. En Preferencias de conexión, lo mejor es hacer clic en Detectar automáticamente. Para finalizar esta configuración pulsamos en Aplicar y luego en Aceptar

En el caso en particular de Debian y KMail, (en el momento de escribir este manual es)

Cifrado: SSL/TLS
Puerto: 995
Autenticación: Texto en claro




2.3.- Pestaña Envíos. Hacemos clic en Añadir... o seleccionamos una cuenta ya existente y hacemos clic en Modificar... 


Nos aparece la pestaña General con Información de la Cuenta, y
 rellenamos los campos que nos piden:
  • Servidor de correo salientesmtp.gmail.com y marcamos El servidor exige autenticación 
  • Identificación: escribimos nuestro correo electrónico
  • Contraseña: La contraseña que generamos al principio de este manual, la llamada: La contraseña de aplicación es un código de 16 caracteres y marcamos Guardar contraseña SMTP


En la pestaña Avanzada, en Preferencias de conexión, lo mejor es pulsar en Autodetectar. Aunque nosotros, después podemos afinar dependiendo del programa que estemos usando. 

En el caso en particular de Debian y KMail, en el momento de escribir este manual es:

Cifrado: SSL/TLS
Puerto: 465
Autenticación: DIGEST-MD5




NOTA IMPORTANTE: Esta configuración será utilizada en la identidad predeterminada y en todas las otras cuentas que no hayamos realizado una configuración de identidad. Puedes utilizar diferentes configuración de envío para distintas identidades.

=========================================================



 Opciones POP3 

KMail admite cifrado a través de SSL/TLS y STARTTLS (SSL/TLS es mejor si está disponible).

Para POP3, KMail admite:
  • Texto en claro
  • PLAIN
  • LOGIN
  • CRAM-MD5 (recomendado si DIGEST-MD5 no está disponible)
  • DIGEST-MD5 (recomendado)
  • NTLM
  • GSSAPINTLM
  • APOP
DIGEST-MD5, CRAM-MD5 y APOP son seguras por sí mismas, el resto solo son seguras cuando se utilizan junto a SSL o TLS. Únicamente debería utilizar Texto en claro si su servidor no admite ninguno de los otros métodos de autenticación. Además, en el caso de IMAP se admite el método Anónimo, pero no APOP. Use el botón Comprobar qué admite el servidor en el apartado Seguridad para seleccionar automáticamente la configuración más segura que admita su servidor.


================================================
Fuentes de información:

================================================