![]() |
Clúster vista lateral |
Instalación SSH Server
1. ¿Que es SSH ?
Es un protocolo de red criptográfico para iniciar sesiones basado en shell en maquinas remotas de manera segura. Esto permite al usuario ejecutar comandos en el símbolo del sistema de la máquina sin que ellos estén presentes físicamente cerca de la máquina.
También permite al usuario establecer un canal seguro sobre una red insegura en un cliente-servidor arquitectura, la conexión de un cliente SSH aplicación con un servidor SSH.
SSH se suele utilizar para iniciar sesión en una máquina remota y ejecutar comandos.
2. ¿Que es SSH server?
Es un programa de software que utiliza el protocolo SSH para aceptar conexiones desde equipos remotos.
Es un programa de software que utiliza el protocolo SSH para aceptar conexiones desde equipos remotos.
Comandos: SFTP/SCP transferencias de archivos y control remoto conexiones de los terminales son los casos de uso popular para un servidor SSH.
2.1. Instalamos SSH server:
También permite al usuario establecer un canal seguro sobre una red insegura en un cliente-servidor arquitectura, la conexión de un cliente SSH aplicación con un servidor SSH .
SSH se suele utilizar para iniciar sesión en una máquina remota y ejecutar comandos sino que también apoya un túnel , reenvío de puertos TCP y X11 conexiones, se pueden transferir archivos utilizando el asociado de transferencia de archivos SSH (SFTP) o copia segura protocolos (SCP). SSH utiliza el modelo cliente-servidor.
En resumen, SSH es un protocolo utilizado para control remoto de otros equipos de la red y para transferencia cifrada de ficheros.
$sudo apt-get install openssh-serverEs un protocolo de red criptográfico para iniciar sesiones basado en shell en maquinas remotas de manera segura. Esto permite al usuario ejecutar comandos en el símbolo del sistema de la máquina sin que ellos estén presentes físicamente cerca de la máquina.
También permite al usuario establecer un canal seguro sobre una red insegura en un cliente-servidor arquitectura, la conexión de un cliente SSH aplicación con un servidor SSH .
SSH se suele utilizar para iniciar sesión en una máquina remota y ejecutar comandos sino que también apoya un túnel , reenvío de puertos TCP y X11 conexiones, se pueden transferir archivos utilizando el asociado de transferencia de archivos SSH (SFTP) o copia segura protocolos (SCP). SSH utiliza el modelo cliente-servidor.
En resumen, SSH es un protocolo utilizado para control remoto de otros equipos de la red y para transferencia cifrada de ficheros.
Public key: Encripta texto planoSSH utiliza criptografía de llave publica para autenticar el equipo remoto y permitir que autorice al usuario entrante. Hay 2 maneras:
Private key: Desencripta texto plano
- La primera es que ambas partes usen llaves publicas-privadas generadas automáticamente y cifrar una conexión red y luego pedir contraseña de autenticación para iniciar sesión.
- Que se utiliza un par de llaves publicas generadas manualmente, permitiendo a usuario/programas iniciar sesión sin pedir llave.
La llave publica se coloca en todos los equipos que deben permitir acceso al titular de la llave privada. Es decir, que la persona que ofrece la PublicKey también posee PrivateKey.
Luego de instalar SSH, se deberá crear una clave del ordenador correspondiente:
Luego de instalar SSH, se deberá crear una clave del ordenador correspondiente:
$sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
$sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
$sudo ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
2.2. Configurando SSH
Configuración:
Configuración:
man sshd_configAntes de tocar ese archivo haremos una copia de seguridad
$sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.originalTener sshd permita credenciales de acceso basados en clave pública, simplemente añadir o modificar la línea:
$sudo chmod aw /etc/ssh/sshd_config.original
$sudo gedit /etc/ssh/sshd_config
PubkeyAuthentication yesAñadiremos la siguiente línea para permitir el acceso mediante SSH al usuario que tengas:
AllowUsers meowSi queremos permitir el acceso mediante SSH al superusuario root añadiremos (aunque esto no es recomendable por cuestiones de seguridad) la siguiente línea a este fichero:
PermitRootLogin yes
Para indicar con qué interfaz de red se establecerá la conexión (en el caso de que tengamos varias interfaces de red con varias IPs en nuestro servidor de Linux Ubuntu) añadiremos la línea:
ListenAddress 192.168.1.254También podremos cambiar el puerto por defecto para SSH (es recomendable por seguridad), que es el 22, añadiendo (o modificando si existe) la línea:
Port 2222Ahora para hacer correctos los cambios :
$sudo /etc/init.d/ssh restart
$sudo /etc/init.d/ssh start
$sudo /etc/init.d/ssh stop
3. Creación de SSH-KEY
Están ubicadas en :
Están ubicadas en :
$HOME /.ssh/identityaquí están las llaves privadas RSA cuando se usa el protocolo SSH versión 1
$HOME /.ssh/identity.pubcontiene la clave pública RSA para la autenticación cuando se utiliza la versión del protocolo SSH 1.
$HOME /.ssh/id_dsa
aquí están las llaves privadas DSA cuando se usa el protocolo SSH versión 2. Contiene la clave pública DSA para la autenticación cuando se utiliza la versión del protocolo SSH 2.
$HOME /.ssh/id_dsa.pub
$HOME /.ssh/id_rsa
aquí están las llaves privadas RSA cuando se usa el protocolo SSH versión 2
$HOME /.ssh/id_rsa.pub
contiene la clave pública RSA para la autenticación cuando se utiliza la versión del protocolo SSH 2. Ahora damos permisos a las siguientes carpetas para que puedan escribirse en procesos:
$sudo chmod 700 ~/.ssh
$sudo chmod 600 ~/.ssh/authorized_keys
Para generar la conexión hacia otra PC llamada Pcexterna desde la nuestra llamada Pcnuestra haremos:
En nuestra PC nos conectaremos a otras PC's con el comando ssh y la dirección IP a donde queremos ir. Pedirá contraseña de PCexterna para acceder.
$ssh PCexterna@ipexternoPara agregar a nuestra maquina(PCnuestra) llaves de otra maquina (Pcexterna). Añade la llave publica de nuestro origen(PCnuestra) a las del servidor destino(PCexterna)
$cat ~/.ssh/id_rsa.pub | ssh PCexterna@IPexterna "cat>>.ssh/authorized_keys"
Y a la vez en la PCexterna, pedirá contraseña de PCnuestra para acceder, y listo.
$ssh PCnuestra@ipnuestra
Para agregar a la maquina(PCexterna) llaves de nuestra maquina (Pcnuestra). Añade la llave publica de nuestro origen(PCexterna) a las del servidor destino(PCnuestra):
$cat ~/.ssh/id_rsa.pub | ssh PCnuestra@IPnuestra "cat>>.ssh/authorized_keys"
Y listo, ahora entre ambas PC's se podrán conectar sin necesidad de pedir contraseña (hacer esto SOLO con las PC's que quieras que accedan y a las cuales acceder, recuerda que si haces esto a un conjunto de PC's, todas podrán acceder a tu sistema sin filtro alguno).
Existe una manera de administrar todas las PC's de manera remota, sin necesidad de acceder a una por una, y esa manera se le atribuye a un software llamado clusterssh.
Ejemplo de una private Key: en /.ssh/ se almacenan id_rsa (privadas)
Existe una manera de administrar todas las PC's de manera remota, sin necesidad de acceder a una por una, y esa manera se le atribuye a un software llamado clusterssh.
Ejemplo de una private Key: en /.ssh/ se almacenan id_rsa (privadas)
![]() |
Ejemplo private Key |
![]() |
Ejemplo de Public Key |
Laboratory of Big Data & HPC/CTIC- UNI
Escuela Profesional de Ciencia de la Computación
Facultad de Ciencias
Universidad Nacional de Ingeniería
0 comentarios:
Publicar un comentario