SSH bajo debian
servidor SSH bajo debian
Gestión remota usando SSH
Lo primeros que deberemos de hacer sera instalarnos el paquete en el servidor y el cliente :
Por seguridad se suele no permitir la conexión del root al servidor; para ello, se debe modificar el archivo /etc/ssh/sshd_config, y se pone la siguiente opción:
Y reiniciamos el servicio para que se apliquen los cambios :
Conectarse al servidor ssh
Vamos a instalarnos el cliente ssh, para ello:
Para acceder desde el cliente al servidor tecleamos:
Nos abríamos conectado remotamente
Ejecución remota de aplicaciones gráficas
Mediante ssh existe la posibilidad de ejecutar aplicaciones gráficas en el servidor y manejarlas y visualizarlas en el cliente. El servidor ssh deberá tener activada la redirección del protocolo X, es decir, deberá tener el siguiente parámetro en el archivo de configuración /etc/ssh/sshd_config:
En mi caso ya estaba habilitado , si no lo tuviésemos lo cambiamos y reiniciamos el servicio para que se apliquen los cambios . Ahora deberemos de conectarnos con el parámetro -X :
y posteriormente podemos ejecutar cualquier aplicación gráfica, por ejemplo, gedit:
Se nos abrirá el programa gráficamente :
Ahora vemos en el servidor que se ha creado :
Transferir ficheros con ssh
Para copiar un fichero desde el cliente al servidor introducimos el siguiente comando :
Ahora vamos a comprobar si se ha copiado al servidor :
Acceso remoto por cifrado asimetricó
Configuracion del acceso por claves
Vamos a generar nuestras claves desde nuestro cliente :
Ahora vamos a añadirla a nuestro servidor :
Una vez echo esto deshabilitamos el acceso con contraseña en el servidor editando el archivo /etc/ssh/sshd_config :
A continuación solo debemos reiniciar el servicio y al volver a registrarnos, ya estaremos utilizando clave publica :
Si nos intentamos registrar con usuario el cual no tenemos la clave publica nos dirá lo siguiente :
Cambio de puerto
Ahora vamos a editar el fichero de configuración para indicar el puerto :
Y reiniciaremos el servicio :
Ahora si nos intentamos conectar como lo hemos hecho anterior mente , nos dara el siguiente error :
Para conectarnos deberemos de especificar el puerto por el cual nos conectamos con -p :
Conectarnos con un cliente de acceso remoto usando túneles
Usaremos kitty , cuando lo abramos en la primera pantalla introducimos la ip del servidor y el puerto que haya configurado en el servidor para el ssh en mi caso 2222
Ahora añadimos el puerto por el cual nos conectaremos usando el túnel y después la ip seguida de dos puntos y el mismo puerto .
Ahora introducimos nuestro usuario y contraseña y nos habremos conectado :
Si queremos hacer lo mismo pero usando una clave publica desde windows , pulsamos windows +r y escribimos lo siguiente :
Y generamos las claves publicas :
Ahora vamos a la ruta que lo hemos guardado copiamos la clave publica y la introducimos en el servidor , por comodidad la he copiado desde el cliente usando ssh.
Una vez añadida guardamos el archivo :
Vamos a desactivar la autenticación por contraseña y reiniciamos el servicio
Ahora desde el kitty deberemos de irnos al apartado ssh>auth , le damos a browse y seleccionamos nuestra clave privada , que deberá tener la extension .ppk . Yo la copie en otro directorio por comodidad para las pruebas .
Y nos conectamos :
Aquí hemos combinado conectarnos con kitty usando un túnel + otro puerto + clave publica .
VNCserver
Lo instalamos con el siguiente comando :
A continuación configuramos las credenciales de configuración para administradores y usuarios de acceso con el siguiente comando :
Ahora vamos al cliente y introducimos la ip seguida del puerto por dos puntos, si no lo sabemos lo podemos mirar con :
Nos saldrá una advertencia al no estar cifrada la comunicación , le damos a continuar y introducimos la contraseña de acceso , que hayamos puesto anteriormente :
Como no tenemos entrono grafico en el servidor no nos mostrara imagen pero podemos ver que hemos establecido conexión tanto en windows como en Linux :
Gestión de páginas web mediante ssh
1.Una vez creado los dos sitio virtuales deseamos establecer una conexión segura a cada uno de nuestros sitios, para ello debemos establecer un túnel ssh de la misma manera que lo hemos establecido para establecer una conexión remota por vnc .
2.Crear un túnel desde el cliente ssh para que el acceso a la sección privada de la web de departamentos se establezca por el puerto 9999
3.Con ambos túneles establecidos comprobar que el acceso a la web iesgn.org se puede realizar sin problemas por el puerto 80
Solo he conseguido hacer a mi pagina por defecto , para eso hacemos un túnel con kitty por ejemplo:
Ahora añadimos los puertos origen y destino del puerto :
Ahora nos registramos con nuestro usuario :
Una vez establecido el túnel introducimos en el navegador localhost:8888 :
Y así hemos establecido una conexión segura web .
Si cerramos el túnel perderemos la conexión :