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:
- 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»: