Blog del Podcast
podcast    GitHub    Twitter  Telegram

Docker. Servidor SSH para conectarte por SFTP

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

#+BEGIN_EXAMPLE

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

#+END_EXAMPLE

Por defecto:

Docker para AMD64

#+BEGIN_EXAMPLE

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

#+END_EXAMPLE

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:

#+BEGIN_EXAMPLE

docker exec -it ssh passwd

#+END_EXAMPLE

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

#+BEGIN_EXAMPLE

docker exec -it ssh mkdir /root/.ssh

#+END_EXAMPLE

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

#+BEGIN_EXAMPLE

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

#+END_EXAMPLE

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.