SSH/es

SSH (Secure SHell) es un programa de terminal cifrado que reemplaza la herramienta clásica telnet sobre sistema operativo tipo Unix.

Además del acceso a la terminal remota proporcionada por el binario principal ssh, la suite de programas SSH ha crecido hasta incluir otras herramientas como scp (secure copy) y sftp (secure file transfer protocol).

Originalmente, SSH no era libre. Sin embargo, hoy la implementación estándar más popular y de-facto de SSH es OpenSSH de OpenBSD ,que viene pre-instalado en Gentoo.

Instalación
La mayoría de las implementaciones ya tendran instalado OpenSSH (a través del ). Este paquete utiliza las siguientes USE flags:

Después de cambiar los parámetros USE, no se olvide de recompilar OpenSSH:

Servidor
Añadir openssh al nivel de ejecución por defecto si no se ha hecho aun.

Iniciar el daemon sshd con:

El servidor OpenSSH se puede controlar como cualquier otro servicio gestionado de OpenRC:

Crear Llaves
Con el fin de proporcionar un shell seguro, las Llaves criptográficas se usan para administrar las funcionalidades de cifrado, descifrado y de hashing ofrecidos por SSH.

En el primer inicio del servicio SSH, se generarán Llaves del sistema. Las Llaves pueden ser (re) generadas mediante el comando.

Para generar la clave utilizada para la versión 1 del protocolo SSH (que por lo general no está habilitado más, ya que ha dejado de utilizarse en favor de la versión 2 del protocolo):

Para generar las claves de la versión del protocolo SSH 2 (algoritmos DSA y RSA):

Configuración Del Servidor
El servidor SSH suele estar configurado en el aunque también es posible realizar una configuración adicional en archivo  de OpenRC, incluyendo el cambio de la ubicación del archivo de configuración. Para obtener información detallada sobre cómo configurar el servidor puede ver el sshd_config man page.

Usted también debe estudiar esta guia para una configuración centrada en seguridad.

Configuración Del Cliente
Los programas ssh cliente y afines (scp, sftp, etc.) se puede configurar en los siguientes archivos:

Para más información lea el manual :

autenticación sin contraseña
Útil para la administración de servidores git.

Cliente
En el cliente, ejecute el siguiente comando:

Servidor
Asegúrese de que existe una cuenta para el usuario en el servidor, y luego colocar los clientes  en el archivo.

Prueba De Maquina Simple
El procedimiento anterior se puede probar a cabo localmente:

Solución de problemas
Hay 3 niveles diferentes modos de depuración que pueden ayudar a solucionar problemas. Con la opcion -v ssh se imprime mensajes de depuración acerca de su progreso. Esto es útil en la depuración de una conexión, la autenticación y los problemas de configuración. Varias opciones -v Aumentan el nivel de detalle. El máximo es 3.

Muerte de conexiones De Larga vida
Muchos dispositivos de acceso a Internet realizan la traducción de direcciones de red (NAT), un proceso que permite a los dispositivos en una red privada como la que normalmente se encuentran en una casa o lugar de negocio para acceder a redes extranjeras, como lo es Internet, a pesar de tener una única dirección IP en esa red. Por desgracia, no todos los dispositivos NAT son creados iguales, y algunos de ellos se cierran incorrectamente a las conexiones de larga duración, como ocasionalmente usa TCP, como las utilizadas por SSH. Esto es generalmente observable como una incapacidad repentina para interactuar con el servidor remoto, aunque programa cliente 'ssh' no ha salido.

Con el fin de resolver el problema, los clientes y los servidores OpenSSH pueden configurarse para enviar un 'keep alive', o mensaje invisible destinado a mantener y confirmar el estado en tiempo real del enlace.
 * Para permitir el keepalive  a todos los clientes que se conecten a tu servidor local, Establecer ServerAliveInterval 30 (o algún otro valor, en segundos) dentro del archivo.

¡El reenvío X11 no se realiza ni tunela!
Problem: After you have made the necessary changes to the configuration files for permitting X11 Forwarding, you find X applications are executing on the server and are not being forwarded to the client.

Solution: What is likely occurring during SSH login into the remote server or host, the  variable is either being unset or is being set after the SSH session sets it.

Test for this scenario as follows after logging in remotely:

You should get something similar to "localhost:10.0" or "localhost2.local:10.0" using server side  setting. If you're getting the usual ":0.0", check to make sure you are not unsetting or initializing the  variable within. If so, remove or comment your custom initialization of  or prevent  from executing during SSH login:

A trick would be to alias this within.

Intrusion Prevention
ssh is a commonly attacked service. sshguard & fail2ban monitor logs and black list remote users who have repeatedly failed to login.