Esta sección de la Guía de Servidores de Ubuntu introduce una potente colección de herramientas para el control remoto y la transferencia de datos de ordenadores en red, llamados OpenSSH. También pruede aprender algo sobre los parámetros de configuración posibles del servidor OpenSSH y como cambiarlos en un sistema Ubuntu.
OpenSSH es una versión libre del protocolo Secure Shell (SSH) que es una familia de herramientas para control remoto o transferencia de ficheros entre ordenadores. Las herramientas utilizadas para realizar estas funciones, eran el telnet o el rcp, que son inseguras y transmiten el password de los usuarios en texto plano cuando son usadas. OpenSSH provee un demonio y clientes para facilitar un seguro y encriptado control remoto y operaciones de transferencia de fichero, reemplaza efectivamente las herramientas heredadas.
El componente servidor OpenSSH , sshd, escucha continuamente a la espera de conexiones de clientes desde cualquiera de las herramientas cliente. Cuando aparece una petición conexión, sshd establece la conexión correcta dependiendo del tipo de herramienta cliente que está conectándose. Por ejemplo, si el equipo remoto se está conectando con la aplicación cliente ssh, el servidor OpenSSH establecerá una sesión de control remoto tras la autenticación. Si el usuario remoto se conecta al servidor OpenSSH con scp, el demonio del servidor OpenSSH iniciará una copia segura de archivos entre el servidor y el cliente tras la autenticación. OpenSSH puede usar muchos métodos de autenticación, incluyendo contraseñas planas, claves públicas y tickets de Kerberos
La instalación de cliente y servidor OpenSSH es simple. Para instalar las aplicaciones cliente de OpenSSH en su sistema ubuntu, use el siguiente comando en la línea de comandos:
sudo apt-get install openssh-client
Para instalar la aplicación servidor de OpenSSH, y los archivos de soporte relacionados, use en una línea de comandos la siguiente instrucción:
sudo apt-get install openssh-server
Puede configurar el comportamiento predeterminado del servidor OpenSSH, sshd, editando el archivo /etc/ssh/sshd_config
. Para más información sobre las directivas de configuración usadas en este archivo, puede ver la página del manual apropiada con la siguiente orden, introducida en una terminal:
man sshd_config
Existen muchas directivas en el archivo de configuración de sshd que controlan cosas como los parámetros de comunicaciones y modos de autentificación. Los siguientes son ejemplos de directivas de configuración que pueden ser cambiadas editando el archivo /etc/ssh/ssh_config
.
Antes de cambiar el archivo de configuración, debe hacer una copia del archivo original y protegerlo contra escritura así tendrá la configuración original como referencia y podrá reusarla si es necesario.
Copie el archivo /etc/ssh/sshd_config
y protejalo contra escritura con los siguientes comandos, introduzcalos en el prompt:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original sudo chmod a-w /etc/ssh/sshd_config.original
Lo siguiente son ejemplos de directivas de configuración que usted puede cambiar:
Para hacer que su OpenSSH escuche por el puerto TCP 2222 en lugar del puerto TCP 22 por defecto, cambie la directiva Port como sigue:
Port 2222
Para hacer que sshd permita credenciales de inicio de sesión basados en clave pública, simplemente añada o modifique la línea:
PubkeyAuthentication yes
en el archivo /etc/ssh/sshd_config
, si está presente, asegúrese que la línea no está comentada.
Para hacer que su servidor OpenSSH muestre el contenido del archivo /etc/issue.net
como banner antes del login, simplemente añada o modifique la línea:
Banner /etc/issue.net
en el archivo /etc/ssh/sshd_config
.
Después de hacer los cambios en el archivo /etc/ssh/sshd_config
, guarde este, y reinicie el servidor sshd para que los cambios tengan efecto usando la siguiente orden en una terminal:
sudo /etc/init.d/ssh restart
Existen muchas otras directivas de configuración disponibles para sshd que cambian el comportamiento de la aplicación servidor para ajustarlo a sus necesidades. No obstante, si su único método de acceso a un servidor es ssh, y comete un error al configurar sshd por medio del archivo /etc/ssh/sshd_config
, puede conseguir que el servidor se cierre durante el reinicio del mismo, o que el servidor sshd no quiera iniciarse debido a una directiva de configuración incorrecta, por lo que debe ser extremadamente cuidadoso cuando edite este fichero desde un servidor remoto.