Como administrador del sistema, 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 se sentará frente a una terminal real (física), por lo que debe configurar una forma de iniciar sesión de forma remota en las máquinas que se le pedirá que administre.
De hecho, puede que eso sea lo último que tendrás que hacer frente a una terminal física. 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 en texto sin cifrar y sin cifrar.
Además, en este artículo también revise cómo configurar los servicios de red para que se inicien automáticamente en el arranque y aprenda a configurar la red y la resolución del nombre de host de forma estática o dinámica.
RHCSA: SSH seguro y Habilitar los servicios de red-Parte 8
Table of Contents
Instalación y protección de la comunicación SSH
Para que pueda iniciar sesión de forma remota en un cuadro de RHEL 7. utilizando SSH. tendrás que instalar openssh. openssh-clients. y openssh-servers. paquetes. El siguiente comando no solo instalará el programa de inicio de sesión remoto, sino también la herramienta de transferencia segura de archivos, así como la utilidad de copia remota de archivos:
# yum update && yum install openssh openssh-clients openssh-servers
Nota que es una buena idea instalar las contrapartes del servidor, ya que es posible que desee utilizar 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 debe tener en cuenta si desea asegurar el acceso remoto a su servidor SSH. La siguiente configuración debe estar presente en el archivo/etc/ssh/sshd_config.
1.. Cambie el puerto donde escuchará el demonio sshd desde 22. (el valor predeterminado) a un puerto alto ( 2000. o superior), pero primero asegúrese de que no se esté utilizando el puerto elegido.
Por ejemplo, supongamos que elige el puerto 2500. Utilice netstat para comprobar si el puerto elegido se está utilizando o no:
# netstat-npltu | grep 2500
Si netstat. no devuelve nada, puede usar con seguridad el puerto 2500. para sshd, y debe cambiar la configuración del puerto en el archivo de configuración de la siguiente manera:
Puerto 2500
2.. Solo permitir protocolo 2.
Protocolo 2
3.. Configure la autenticación tiempo de espera de 2 minutos, no permita inicios de sesión 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 claves en lugar de la contraseña:
PasswordAuthentication no RSAAuthentication yes PubkeyAuthentication yes
Esto supone que ya ha creado un par de claves con su nombre de usuario en su máquina cliente y lo ha copiado en su servidor como explicado aquí.
- Habilitar inicio de sesión sin contraseña SSH
Configuración de red y resolución de nombres
1.. Cada sistema El administrador debe estar familiarizado con los siguientes archivos de configuración de todo el sistema:
- /etc/hosts. se utiliza para resolver nombres . IP en pequeños redes.
Cada línea en el archivo/etc/hosts tiene la siguiente estructura:
Dirección IP-Nombre de host-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 completo 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 ceñirse a la siguiente estructura en cada línea:
servidor de nombres-dirección IP
Por ejemplo,
servidor de nombres 8.8.8.8
3.. 3./etc/host.conf especifica los métodos y el orden en que se resuelven los nombres de host dentro de una red. En otras palabras, le dice al solucionador de nombres qué servicios usar y en qué orden.
Aunque este archivo tiene varias opciones, la configuración más común y básica incluye una línea de la siguiente manera:
order bind, hosts
Lo que indica que el resolutor debe buscar primero 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 host global para todas las interfaces de red. Se pueden usar los siguientes valores:
NETWORKING = yes | no HOSTNAME = value
Donde el valor debe ser el Nombre de dominio completo (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 = valor
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á varios archivos de texto sin formato con el nombre.
ifcfg-name
Donde nombre es el nombre de la NIC como lo devuelve ip link show :
Verificar el estado del enlace de red
Por ejemplo:
Archivos de red
Aparte del loopback. puede esperar una configuración similar para sus NIC. Tenga en cuenta que algunas variables, si se establecen, anularán las presentes en/etc/sysconfig/network para esta interfaz en particular. Cada línea se comenta para aclarar en este artículo, pero en el archivo real debe evitar comentarios:
HWADDR = 08: 00: 27: 4E: 59: 37 # La dirección MAC de la NIC TYPE = Ethernet # Tipo de conexión BOOTPROTO = static # Esto indica que a esta NIC se le ha asignado una IP estática. Si esta variable se estableció en dhcp, un servidor DHCP asignará una dirección IP a la NIC y, por lo tanto, las dos líneas siguientes no deberían estar presentes en ese caso. IPADDR = 192.168.0.18 NETMASK = 255.255.255.0 GATEWAY = 192.168.0.1 NM_CONTROLLED = no # Debe agregarse a la interfaz Ethernet para evitar que NetworkManager cambie el archivo. NAME = enp0s3 UUID = 14033805-98ef-4049-bc7b-d4bea76ed2eb ONBOOT = yes # El sistema operativo debería mostrar esta NIC durante el arranque
Configuración de nombres de host
En Red Hat Enterprise Linux 7. el comando hostnamectl. se usa tanto para consultar como para establecer el nombre de host del sistema.
Para mostrar el nombre de host actual, escriba:
# hostnamectl status Verificar el nombre de host del sistema
Para cambiar el nombre de host, use
# hostnamectl set-hostname [nuevo nombre de host]
Por ejemplo,
# hostnamectl set-hostname cinderella
Para que los cambios surtan efecto, deberá reiniciar el demonio nombre de host. (de esa manera no tendrá que cerrar la sesión y volver a iniciarla para aplicar el cambio):
# systemctl restart systemd-hostnamed Establecer el nombre de host del sistema
En 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, ejecute:
# nmcli nombre de host general
y para cambiarlo:
# nmcli nombre de host general [nuevo nombre de host]
Por ejemplo,
# nmcli nombre de host general rhel7
Establecer el nombre de host mediante el comando nmcli
Inicio de servicios de red en el arranque
Para terminar, veamos cómo podemos asegurarnos de que los servicios de red se inicien automáticamente al arrancar. En términos simples, esto se hace creando enlaces simbólicos a ciertos archivos especificados en la sección [Instalar]. de los archivos de configuración del servicio.
En el caso de firewalld. (/usr/lib/systemd/system/firewalld.service. :
[Instalar] WantedBy = basic.target Alias = dbus-org.fedoraproject.FirewallD1.service
Para habilitar el servicio:
# systemctl habilitar firewalld
Por otro lado, deshabilitar firewalld da derecho a eliminar los enlaces simbólicos:
# systemctl deshabilitar firewalld Habilitar el servicio en el arranque del sistema
Conclusión
En este artículo hemos resumido cómo instalar y asegurar las conexiones a través de SSH. a un servidor RHEL. cómo cambiar su nombre y, finalmente, cómo garantizar que los servicios de red se inician en el arranque. Si observa que un determinado servicio no se ha iniciado correctamente, puede utilizar systemctl status-l [servicio]. y journalctl-xn. para solucionarlo.
No dude en hacernos saber lo que piensa sobre este artículo utilizando el formulario de comentarios a continuación. Las preguntas también son bienvenidas. ¡Esperamos con interés escuchar de usted!