Como administrador de sistemas, a menudo tendrá que iniciar sesión en sistemas remotos para realizar una variedad de tareas de administración utilizando un emulador de terminal. Rara vez estarás frente a un terminal real (físico), por lo que necesitas configurar una forma de iniciar sesión de forma remota en las máquinas que te pidan que administres.
De hecho, eso puede ser lo último que tengas que hacer frente a un terminal físico. Por razones de seguridad, usar Telnet para este propósito no es una buena idea, ya que todo el tráfico pasa por el cable sin cifrar, en texto plano.
Además, en este artículo también revisaremos cómo configurar los servicios de red para que se inicien automáticamente al arrancar y aprenderemos cómo configurar la resolución de red y nombres de host de forma estática o dinámica.

Instalación y Seguridad de Comunicación SSH
Para que puedas iniciar sesión de forma remota en una RHEL 7 usando SSH, tendrás que instalar los paquetes openssh, openssh-clientes y openssh-servidores. El siguiente comando no solo instalará el programa de inicio de sesión remoto, sino también la herramienta de transferencia de archivos segura, así como la utilidad de copia de archivos remotos:
# yum update && yum install openssh openssh-clients openssh-servers
Tenga en cuenta que es una buena idea instalar las contrapartes del servidor, ya que es posible que desee usar la misma máquina como cliente y servidor en algún momento.
Después de la instalación, hay un par de cosas básicas que debes tener en cuenta si deseas asegurar el acceso remoto a tu servidor SSH. Las siguientes configuraciones deben estar presentes en el archivo /etc/ssh/sshd_config
.
1. Cambie el puerto en el que el demonio sshd escuchará de 22 (el valor predeterminado) a un puerto alto (2000 o superior), pero primero asegúrese de que el puerto elegido no esté siendo utilizado.
Por ejemplo, supongamos que elige el puerto 2500. Utilice netstat para verificar si el puerto elegido está siendo utilizado o no:
# netstat -npltu | grep 2500
Si netstat no devuelve nada, puede usar de forma segura el puerto 2500 para sshd, y debe cambiar el ajuste de Puerto en el archivo de configuración de la siguiente manera:
Port 2500
2. Solo permita protocolo 2:
Protocol 2
3. Configure el tiempo de espera de autenticación a 2 minutos, no permita accesos de root y restrinja al mínimo la lista de usuarios que pueden iniciar sesión a través de ssh:
LoginGraceTime 2m PermitRootLogin no AllowUsers gacanepa
4. Si es posible, utilice la autenticación basada en clave en lugar de la basada en contraseña:
PasswordAuthentication no RSAAuthentication yes PubkeyAuthentication yes
Esto asume que ya ha creado un par de claves con su nombre de usuario en su máquina cliente y lo ha copiado a su servidor como se explica aquí.
Configuración de Redes y Resolución de Nombres
1. Todo administrador de sistemas debe estar bien familiarizado con los siguientes archivos de configuración a nivel de sistema:
- /etc/hosts se utiliza para resolver nombres <—> IPs en redes pequeñas.
Cada línea en el archivo /etc/hosts
tiene la siguiente estructura:
IP address - Hostname - FQDN
Por ejemplo,
192.168.0.10 laptop laptop.gabrielcanepa.com.ar
2. /etc/resolv.conf
especifica las direcciones IP de los servidores DNS y el dominio de búsqueda, que se utiliza para completar un nombre de consulta dado a un nombre de dominio completamente calificado cuando no se proporciona un sufijo de dominio.
En circunstancias normales, no es necesario editar este archivo ya que es administrado por el sistema. Sin embargo, si desea cambiar los servidores DNS, tenga en cuenta que debe seguir la siguiente estructura en cada línea:
nameserver - IP address
Por ejemplo,
nameserver 8.8.8.8
3. 3. /etc/host.conf
especifica los métodos y el orden por el cual se resuelven los nombres de host dentro de una red. En otras palabras, le dice al resolutor de nombres qué servicios utilizar y en qué orden.
Aunque este archivo tiene varias opciones, la configuración más común y básica incluye una línea como la siguiente:
order bind,hosts
Lo que indica que el resolutor primero debe buscar en los servidores de nombres especificados en resolv.conf
y luego en el archivo /etc/hosts
para la resolución de nombres.
4. /etc/sysconfig/network
contiene información de enrutamiento y de host global para todas las interfaces de red. Se pueden utilizar los siguientes valores:
NETWORKING=yes|no HOSTNAME=value
Donde el valor debe ser el Nombre de Dominio Completamente Calificado (FQDN).
GATEWAY=XXX.XXX.XXX.XXX
Donde XXX.XXX.XXX.XXX es la dirección IP de la puerta de enlace de la red.
GATEWAYDEV=value
En una máquina con múltiples NIC, valor es el dispositivo de puerta de enlace, como enp0s3.
5. Archivos dentro de /etc/sysconfig/network-scripts
(archivos de configuración de adaptadores de red).
Dentro del directorio mencionado anteriormente, encontrarás varios archivos de texto sin formato nombrados.
ifcfg-name
Donde name es el nombre de la NIC como se muestra en ip link show:

Por ejemplo:

Salvo para la interfaz loopback, puedes esperar una configuración similar para tus NIC. Ten en cuenta que algunas variables, si se establecen, anularán las presentes en /etc/sysconfig/network
para esta interfaz en particular. Cada línea está comentada para aclaración en este artículo pero en el archivo real debes evitar comentarios:
HWADDR=08:00:27:4E:59:37 # The MAC address of the NIC TYPE=Ethernet # Type of connection BOOTPROTO=static # This indicates that this NIC has been assigned a static IP. If this variable was set to dhcp, the NIC will be assigned an IP address by a DHCP server and thus the next two lines should not be present in that case. IPADDR=192.168.0.18 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 NM_CONTROLLED=no # Should be added to the Ethernet interface to prevent NetworkManager from changing the file. NAME=enp0s3 UUID=14033805-98ef-4049-bc7b-d4bea76ed2eb ONBOOT=yes # The operating system should bring up this NIC during boot
Configuración de Hostnames
En Red Hat Enterprise Linux 7, el comando hostnamectl se utiliza tanto para consultar como para establecer el nombre de host del sistema.
Para mostrar el nombre de host actual, escribe:
# hostnamectl status

Para cambiar el nombre de host, utiliza
# hostnamectl set-hostname [new hostname]
Por ejemplo,
# hostnamectl set-hostname cinderella
Para que los cambios surtan efecto, deberás reiniciar el demonio hostnamed (de esta manera no tendrás que cerrar sesión y volver a iniciarla para aplicar el cambio):
# systemctl restart systemd-hostnamed

Además, RHEL 7 también incluye la utilidad nmcli que se puede utilizar para el mismo propósito. Para mostrar el nombre de host, ejecuta:
# nmcli general hostname
y para cambiarlo:
# nmcli general hostname [new hostname]
Por ejemplo,
# nmcli general hostname rhel7

Inicio de Servicios de Red al Iniciar
Para resumir, veamos cómo podemos asegurar que los servicios de red se inicien automáticamente al arrancar. En términos simples, esto se logra creando enlaces simbólicos a ciertos archivos especificados en la sección [Install] de los archivos de configuración del servicio.
En el caso de firewalld (/usr/lib/systemd/system/firewalld.service):
[Install] WantedBy=basic.target Alias=dbus-org.fedoraproject.FirewallD1.service
Para habilitar el servicio:
# systemctl enable firewalld
Por otro lado, deshabilitar firewalld implica eliminar los enlaces simbólicos:
# systemctl disable firewalld

Conclusión
En este artículo hemos resumido cómo instalar y asegurar conexiones a través de SSH en un servidor RHEL, cómo cambiar su nombre y finalmente cómo asegurar que los servicios de red se inicien al arrancar. Si notas que un cierto servicio no se ha iniciado correctamente, puedes utilizar systemctl status -l [servicio] y journalctl -xn para solucionarlo.
No dudes en hacernos saber tu opinión sobre este artículo utilizando el formulario de comentarios a continuación. También son bienvenidas las preguntas. ¡Esperamos saber de ti!
Source:
https://www.tecmint.com/rhcsa-series-secure-ssh-set-hostname-enable-network-services-in-rhel-7/