Acceso remoto en Debian Jessie

Muy buenas a todos seguimos con el proyecto del servidor Debian Jessie. Ahora queremos administrar remotamente a nuestros clientes, para ello explicaremos como acceder remotamente mediante ssh a nuestros clientes Linux y como acceder remotamente al escritorio de un servidor Linux con interfaz gráfica.

En esta entrada veremos:

  • Instalación y configuración de SSH
  • Pruebas de acceso remoto con SSH
  • Instalación y configuración de VNC
  • Pruebas de acceso remoto al escritorio


Instalación y configuración de SSH

Ya que queremos administrar a los clientes Linux desde nuestro servidor, instalaremos en nuestro servidor el cliente SSH y en nuestros clientes el servidor SSH.

Además utilizaremos un par de claves (pública y privada) para la conexión y así no tener que utilizar contraseñas. Este par de claves los generará el servidor, y este repartirá su clave pública a los clientes.

Instalación del cliente SSH en el servidor

Instalaremos el paquete openssh-client como cliente SSH en el servidor, para ello escribimos en la línea de comandos del servidor siendo «root» lo siguiente:

aptitude install openssh-client

Creación del par de claves

Ahora crearemos un par de claves en el servidor para ello escribimos lo siguiente en la línea de comandos:

ssh-keygen

Primero nos preguntará donde quiere que guardemos el par de claves (por defecto se guardará en ~/.ssh/ ). Después nos pedirá una frase («passphrase») de contraseña para las claves, aunque podemos dejarlo vacío.

Instalación del servidor SSH en clientes

Instalaremos el paquete openssh-server como servidor SSH en el cliente, para ello escribimos en la línea de comandos del servidor siendo «root» lo siguiente:

aptitude install openssh-server

Configuración del servidor SSH en clientes

Por mayor seguridad utilizaremos el puerto «2222» para las conexiones, para ello editaremos la siguiente línea del archivo de configuración del servidor SSH /etc/ssh/sshd_config siendo «root» dejándola así:

Port 2222

Si queremos que se pueda acceder con el usuario «root» debemos escribir siguiente línea del archivo de configuración del servidor SSH /etc/ssh/sshd_config siendo «root»:

PermitRootLogin yes

Para pasar al cliente Linux la clave pública que generamos haremos lo siguiente:

  • Usaremos el comando «scp» en el servidor para copiar la clave del servidor al cliente Linux:
scp ~.ssh/id_rsa.pub root@192.168.0.200:~

Donde «~.ssh/id_rsa.pub» es el archivo a copiar, «root» es el usuario con el que accederemos, «192.168.0.200» es la ip del equipo al que accederemos y «~» es el directorio a donde copiaremos el archivo.

  • Luego accederemos al cliente Linux con «ssh»:
ssh root@192.168.0.200

Nos pedirá la contraseña de «root».

  • Creamos la carpeta «.ssh» en la carpeta personal del usuario con el que querremos acceder mediante la clave pública (en nuestro caso será la carpeta personal de root):
mkdir ~/.ssh
  • Creamos el fichero authorized_keys dentro de la carpeta «.ssh» el cuál contendrá todas las claves públicas:
touch ~/.ssh/authorized_keys
  • Añadimos el contenido de la clave pública copiada al fichero authorized_keys :
cat id_rsa.pub > ~/.ssh/authorized_keys

Configuración del cliente SSH en el servidor

Con todo esto hecho nos vamos al servidor con el cliente SSH y hacemos lo siguiente:

  • Ejecutamos los siguientes comandos para que no tengamos que escribir la «passphrase» siempre que nos queramos conectar, si es que hemos puesto una.
ssh-agent
ssh-add

Nos pedirá que escribamos la «passphrase» por última vez.

  • Si el comando ssh-add no funciona debemos ejecutar el comando:
eval "$(ssh-agent)"

Y finalmente ya podremos acceder a los cliente Linux remotamente sin utilizar contraseñas en el puerto «2222»:

ssh -p2222 root@192.168.0.200

Donde «-p2222» es el puerto por donde tendremos la conexión, «root» es el usuario con el que accederemos y «192.168.0.200» es la ip del equipo al que accederemos.


Pruebas de acceso remoto con SSH

En nuestro caso realizaremos un acceso remoto SSH desde nuestro Servidor «Zeus» a nuestro cliente Linux «Poseidon»:

root@zeus:~# ssh -p2222 root@192.168.0.200

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Mar  3 13:09:56 2017 from zeus.elolimpo.org
root@poseidon:~#

Instalación y configuración de VNC

Para acceder desde un cliente remotamente al Escritorio de un servidor Linux con interfaz gráfica, usaremos un servidor VNC en el servidor Linux con interfaz gráfica y un cliente VNC en los clientes.

Instalación del servidor VNC en un servidor Linux con interfaz gráfica

Instalaremos el paquete «x11vnc» como servidor VNC en el servidor Linux con interfaz gráfica, para ello escribimos en la línea de comandos del servidor Linux con interfaz gráfica siendo «root» lo siguiente:

aptitude install x11vnc

Configuración del servidor VNC en un servidor Linux con interfaz gráfica

Estableceremos una contraseña para que sólo pueda acceder el personal autorizado para ello ejecutamos lo siguiente en el servidor Linux con interfaz gráfica:

x11vnc -storepasswd

Escribimos la contraseña con la que accederán los clientes. Esta contraseña quedará guardada en el fichero ~/.vnc/passwd .

Teniendo esto ejecutamos el servidor VNC para que espere la escucha de conexiones:

x11vnc -usepw -bg

Con la opción «-usepw» se requerirá contraseña y con la opción «-bg» pasará el proceso en segundo plano para poder seguir usando la terminal o cerrarla.

Para parar el proceso ejecutamos lo siguiente:

killall x11vnc

Instalación del cliente VNC en un cliente con interfaz gráfica

Podemos usar dos tipos de clientes, clientes Windows y clientes Linux.

  • En Linux instalaremos el paquete «xvnc4viewer» ejecutando lo siguiente como «root»:
aptitude install xvnc4viewer
  • Para acceder al escritorio remoto del servidor ejecutamos lo siguiente:
xvnc4viewer 192.168.0.200

Se nos pedirá la contraseña que anteriormente establecimos en el servidor VNC.

  • En Windows instalaremos la herramienta «vncviewer» que podemos descargar en esta dirección:

www.realvnc.com

  • Para acceder al escritorio remoto del servidor abrimos dicha herramienta ya instalada, insertamos la dirección IP del servidor VNC y escribimos la contraseña.

Pruebas de acceso remoto al escritorio

En nuestro caso realizaremos un acceso al escritorio remoto de nuestro cliente Linux «Poseidon» desde nuestro otro cliente Windows «Hades»:

Captura de pantalla de 2017-03-02 20:31:17.png

Deja un comentario