¿Qué es ssh? - Shell seguro
Secure shell es un protocolo de comunicación seguro que se puede utilizar para la administración remota (como un servidor web) a través de una terminal.
Es técnicamente una versión segura de telnet. Un acceso de shell en cualquier sistema permite al usuario ejecutar comandos y controlar el sistema.
Si ha trabajado en servidores Linux en línea desde la línea de comandos, probablemente lo haya usado.
La comunicación se envuelve con encriptación SSL y se llama shell seguro.
Ssh (Secure Shell) is a program for logging into a remote machine and for executing commands on a remote machine. It provides secure encrypted communications between two untrusted hosts over an insecure network. X11 connections and arbitrary TCP/IP ports can also be forwarded over the secure channel. It can be used to provide applications with a secure communication channel.
Para una carcasa segura, necesitamos 2 componentes. Primero está el servidor de shell seguro que se ejecuta en la máquina que se va a controlar de forma remota. Y la otra parte es un cliente ssh que puede hablar el protocolo ssh y comunicarse con el servidor ssh.
En esta publicación, veremos cómo configurar el servidor y el cliente ssh en ubuntu y establecer una comunicación segura.
Instalar servidor OpenSSH
En ubuntu, instale el paquete openssh-server. Proporciona el servidor sshd. Este mismo método también debería funcionar en Debian y otras distribuciones basadas en Debian.
$ sudo apt-get install openssh-server
This is the portable version of OpenSSH, a free implementation of the Secure Shell protocol as specified by the IETF secsh working group.
Una vez instalado, el servidor ssh debería estar en funcionamiento. Verifíquelo con el comando de servicio
$ service ssh status ssh start/running, process 29422
Conectarse al servidor SSH desde el cliente
Ahora conéctese al servidor ssh usando el comando ssh. El comando ssh es el "cliente opensh". La sintaxis de ssh es así
ssh [email protected] OR ssh -l username hostname
Conéctese a nuestro servidor ssh.
$ ssh [email protected] The authenticity of host 'localhost (127.0.0.1)' can't be established. ECDSA key fingerprint is f2:81:02:29:0b:84:69:d4:71:35:e0:2f:d7:3b:cd:3e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts. [email protected]'s password:
Una vez que haya iniciado sesión, mostrará un mensaje de bienvenida similar a este
Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-17-generic x86_64) * Documentation: https://help.ubuntu.com/ New release '13.04' available. Run 'do-release-upgrade' to upgrade to it. *** System restart required *** Last login: Thu May 30 20:58:33 2013 from localhost $
Configurar servidor SSH
El servidor ssh funciona en el puerto 22 de forma predeterminada. Si desea cambiar el puerto predeterminado del servidor ssh, edite el archivo
/etc/ssh/sshd_config
Tiene una línea para especificar el número de puerto.
# What ports, IPs and protocols we listen for Port 22
Después de cambiar el número de puerto, reinicie el servidor ssh usando el comando de servicio
$ sudo service ssh restart ssh stop/waiting ssh start/running, process 30751
Para obtener más información sobre cómo configurar el servidor ssh utilizando el archivo de configuración, consulte la página de manual ejecutando el siguiente comando
man sshd_config
Cliente Putty ssh:usuarios de Windows
En ubuntu, el comando terminal ssh es la forma más fácil de conectarse a cualquier servidor ssh. Sin embargo, si está buscando una alternativa, pruebe la masilla.
Putty es un cliente ssh/telnet gratuito que está disponible tanto para Linux como para Windows. En ubuntu instálelo desde synaptic
sudo apt-get install putty
Seguridad del servidor SSH
Si está instalando un servidor ssh en un servidor remoto y en línea, es importante proteger el servidor. Estas son algunas medidas de seguridad que puede implementar para fortalecer la seguridad del servidor ssh.
1. Utilice nombres de usuario y contraseñas seguros
2. Configurar el intervalo de tiempo de espera inactivo
3. Deshabilitar contraseñas vacías
4. Dar acceso ssh solo a usuarios específicos
5. Deshabilitar los inicios de sesión raíz
6. Utilice únicamente el protocolo ssh 2
7. Utilice un puerto diferente
8. Restricción de Clientes con cortafuegos
9. Usar autenticación basada en claves
Iniciar sesión sin contraseña en el servidor ssh
La configuración del servidor ssh por defecto solicita el nombre de usuario/contraseña para iniciar sesión. Sin embargo, es posible configurar un inicio de sesión sin contraseña mediante el uso de autenticación basada en clave.
Consulte mi tutorial sobre cómo configurar el inicio de sesión sin contraseña en ssh para obtener más información.
Enlaces y recursos
Para obtener más información, consulte los siguientes enlaces:
http://www.openssh.org/Si tiene algún comentario o pregunta, háganoslo saber en los comentarios a continuación.