Blog del Podcast
podcast      GitHub      Twitter   Telegram

Docker. Servidor SSH para conectarte por SFTP

Tiempo estimado de lectura: 4 minutos. 515 palabras. ssh

Me he encontrado con un dilema cuando he montado ownCloud y es que antes tenía directorios en mi Raspberry con los que editaba mis orgmode, todo.txt, que ahora están dentro de la nube y no los puedo editar.

Para solucionar este problema, he creado un docker con un servidor SSH para conectarme via SFTP. De esta manera también soluciono el problema que me comento un oyente, de como crear un servidor para conectarse a un directorio remoto cifrando el tráfico, todo ello dentro de una red local.

Este docker va a permitir el compartir un directorio local con el servidor SSH, solo aquel que necesito acceder, sin tener que conectarnos a la máquina host.

Mediante el almacenamiento externo de ownCloud, voy a conectarme a este docker por SFTP y con esto ganaré el tener los archivos fuera de la nube ownCloud y mantener todas las ventajas de mi nube como el control de versiones.

He creado el docker para varias arquitecturas partiendo de un Alpine Linux, lo que significa que la imágen tan solo tiene 11mb de tamaño y no consume nada en reposo.

Docker para Raspberry o ARM

docker run -d --name=ssh -p 7777:22 -v /nube:/nube  ugeek/ssh:arm

Por defecto:

Docker para AMD64

docker run -d --name=ssh -p 7777:22 -v /nube:/nube  ugeek/ssh:amd64

Por defecto:

Conectate al servidor

Para conectarse al servidor con Linux:

ssh root@localhost -p 7777

Si nuestra ip fuera 192.168.1.100:

ssh root@192.168.1.100 -p 7777

Cambiar Contraseña

EntraenlaMatrix es la contraseña por defecto, pero quizás quieras cambiarla por una que decidas tu. 

Vamos a cambiar la contraseña.  Para hacer esto, tenemos que utilizar el comando passwd.

Podemos hacerlo con un solo comando con:

docker exec -it ssh passwd

Ahora pedirá que pongamos la nueva contraseña que queremos utilizar, la introducimos dos veces y ya está.

Archivo de configuración de ssh 

El archivo de configuración del servidor ssh, lo podemos encontrar en /etc/ssh/ssh_config.

Enviando las  llaves para no utilizar contraseña

Para no tener que escribir la contraseña cada vez y para darle más seguridad a nuestro servidor, vamos añadir la llave pública en nuestro servidor.

Creamos directorio de configuración ssh

docker exec -it ssh mkdir /root/.ssh

Creamos el archivo authorized_keys y añadimos id_*rsa.pub* de nuestra máquina local

docker exec -it ssh vi /root/.ssh/authorized_keys

Ahora solo falta que envíes o añadas añadas la llave pública del servidor.

Fuentes

El Dockerfile de este contenedor, lo he extraído de un repositorio del GitHub https://github.com/AzagraMac/alpine-ssh


Publicado por Angel el Saturday 06 February del 2021



También te puede interesar:




Powered by org-bash-blog

Written in OrgMode with Emacs and converted to HTML with Pandoc

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.