conectar por SSH una máquina Arch y otra Debian

linux-sshSSH (Secure Shell) es un protocolo de red para compartir datos entre equipos a través de una conexión segura. Vamos a instalar, configurar y conectar una máquina con Archlinux y otra con Debian mediante OpenSSH.

 

 

Instalación.

sudo pacman -S openssh    (ARCH instalará todo con un único paquete)

sudo apt install ssh openssh-client openssh-server openssh-sftp-server    (DEBIAN instala por separado el protocolo, el cliente, el servidor y el servidor para SFTP)

_______________________________________________
Configuración del cliente (tanto en ARCH como en Debian).

el archivo de configuración del cliente es:

/etc/ssh/ssh_config

hacemos dos cambios:

descomentamos la línea:
ForwardX11 yes (lo que nos permitirá ejecutar aplicaciones gráficas mediante SSH).

y en la línea del Protocolo eliminamos el número 1, quedando así:
Protocol 2 (esto hace que sólo se use la versión 2 del protocolo SSH, que es más segura)

_______________________________________________
Configuración del servidor (tanto en ARCH como en Debian).

el archivo de configuración del servidor es:

/etc/ssh/sshd_config

cambios en el archivo del servidor:

el puerto por defecto para escuchar conexiones SSH es el 22. Por motivos evidentes de seguridad conviene cambiarlo:
#Port 22
Port XXXX (sustituye las “X” por el número de puerto que tú quieras).

descomentar la línea:
Protocol 2 (para que sólo se use la versión 2 del protocolo)

cambiar la línea:
#PermitRootLogin yes
por
PermitRootLogin no (esto es otra precaución de seguridad para no permitir conexiones de root, podremos hacer operaciones de administrador si el usuario con el que entremos tiene acceso a sudo).

estas líneas deben estar descomentadas y con estos valores:

AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

(esta configuración permitirá la ejecución de aplicaciones gráficas en remoto).

y finalmente podemos añadir al final del archivo 3 líneas más para mejorar la configuración de seguridad:

# Líneas añadidas por mí:

# usuarios permitidos: aquí puedes añadir los usuarios que podrán acceder al servidor por SSH,
# el formato es nombre_usuario@I.P_de_su_máquina.
AllowUsers juan@192.168.1.2 dario@192.168.1.7 ciro@41.167.123.54

# número de intentos que tiene el usuario remoto para hacer login:
MaxAuthTries 2

# el número máximo de usuarios conectados simultáneamente:
MaxStartups 3

_______________________________________________
arrancar/reiniciar el servidor SSHD.

en ARCH (systemd):
sudo systemctl start sshd

en DEBIAN (SysV):
sudo service ssh restart

_______________________________________________

Uso básico de SSH (en consola).

para lanzar una conexión SSH el equipo cliente no necesita correr el servidor, ejecutar el programa cliente será suficiente. En el equipo al que “llamamos”, lógicamente, sí que tiene que tener funcionado un servidor SSH, esperando peticiones por un puerto concreto.

la sintaxis de conexión es muy sencilla:

supongamos que me quiero conectar al equipo 192.168.1.7, con el usuario dario en el puerto 1069 (este es el puerto que tiene que estar configurado en el archivo sshd_config del servidor).

ssh -p 1069 dario@192.168.1.7 (si no se configura el puerto, ssh intenta por defecto conectar por el puerto 22)

me pide la contraseña de dario y si todo va bien podré ver el prompt de dario. Ya estoy dentro. Si hago un ls, veré sus archivos.

para salir de la conexión SSH tan sólo tecleo
exit (y volveré a ver mi prompt en mi equipo cliente)
_______________________________________________

copiar archivos mediante SSH:

puedo copiar archivos en consola con la versión de cp para SSH, que es scp, así:

scp -P 1069 /home/juan/Desktop/cancion.mp3 dario@192.168.1.7:/home/dario/Desktop/

(comando copiar “scp”, el puerto del servidor “-P 1069” [atención pues esta P es mayúscula], la ruta en la que está el archivo en el cliente, el usuario@I.P_del_servidor, dos puntos (:) y la ruta en la que quiero que copie el archivo en el servidor.

me pedirá la contraseña de dario, y copiará el archivo.

_______________________________________________
ejecutar aplicaciones gráficas en remoto mediante un túnel SSH.

como en los archivos de configuración tanto del cliente como del servidor hemos activado la capacidad para usar las X en SSH, podremos ejecutar aplicaciones gráficas en remoto. Así:

ssh -X -p 1069 dario@192.168.1.7 firefox

lo que nos arrancará Firefox en el servidor y lo ejecutará en el cliente, (mola, ¿no?) 😉

 
dos trucos para mejorar las conexiones gráficas en SSH:

ssh -Y -p 1069 dario@192.168.1.7 firefox   (el cambio de -X por -Y desactiva controles de X11 para facilitar la conexión)

ssh -C4c arcfour,blowfish-cbc -Y -p 1069 dario@192.168.1.7 firefox    (con menor demanda de recursos puede aumentar la velocidad de la CPU y que SSH en modo gráfico funcione más ligero).

_______________________________________________

conectar por SSH a través del gestor de archivos.

 
y para finalizar, puedo conectar por SSH mediante mi navegador de archivos (nautilus, nemo, thunar, dolphin, etc). Simplemente introduzco la dirección de la barra de búsqueda (puedo activarla con Control+L) así:

sftp://dario@192.168.1.7:1069 (el protocolo de FTP seguro, usuario@IP_del_servidor:puerto)

y tras pedirme la contraseña de dario, el navegador de archivos me mostrará sus archivos.

_____________________________________

 

ssh -p 1069 dario@192.168.1.7

dario@192.168.1.7 $ sudo poweroff

adios Dario, a dormir… zzzZZZ…

 
Los caminos del señor SSH son inescrutables.

Anuncios

3 comentarios en “conectar por SSH una máquina Arch y otra Debian”

  1. Hola,
    Para seguir este procedimiento y que otro usuario se pueda conectar a mi equipo por SSH, tengo que hacer un port forwarding / redirección de puerto en mi modem?.

    Gracias.

    Saludos,
    Javier

    1. Hola,
      no, tan sólo tienes que saber tu IP y la del otro equipo. Yo por eso les tengo asignados IP’s fijas en el router para que siempre asigne DHCP la misma a cada equipo y así no hay problema al configurar conexiones SSH o SAMBA.
      Un saludo.

  2. Hola,
    Ahh pero olvidé comentar que es una conexión de un usuario que está en otro país, no estamos en la misma red.

    Saludos,
    Javier

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s