Sat, 21/02/2026 - 17:27
Aunque no publique muchas cosas desde hace años, este blog siempre me resulta útil a la hora de promocionar el software libre y proyectos emocionantes y comandos errados.
Este es el caso de un proyecto muy bueno, aimssh esta aplicación de Go es un Pomodoro Technique dentro de tu terminal, el cual busca simplificar todo, definir tiempo y en que inviertes el tiempo
Vamos a ver como sería el servicio con Traefik, el docker-compose.yml sería así esto según mis servicios aceptaría conexión por el puerto 80 y 443 que son poco común para una conexión SSH
---
# docker stack config -c docker-compose.yml > docker-compose.swarm.yml
# docker stack deploy -c docker-compose.swarm.yml aimssh --prune -d
services:
aimssh:
image: codeberg.org/killua99/aimssh:latest
networks:
- traefik_proxy
deploy:
replicas: 1
placement:
constraints:
- node.labels.internal == true
restart_policy:
condition: on-failure
labels:
- traefik.enable=true
- traefik.tcp.routers.aimssh.entrypoints=web,websecure
- traefik.tcp.routers.aimssh.rule=HostSNI(`aimssh.yoursite.sh`)
- traefik.tcp.routers.aimssh.priority=10
- traefik.tcp.routers.aimssh.tls.certresolver=certbot
- traefik.tcp.routers.aimssh.tls.options=modern@file
- traefik.tcp.routers.aimssh.tls.domains[0].main=aimssh.yoursite.sh
- traefik.tcp.routers.aimssh.service=aimssh
- traefik.tcp.services.aimssh.loadbalancer.server.port=13234
networks:
traefik_proxy:
external: true
Así debería de verse:
Para que esto funcione sin ningún problema debemos hacer lo siguiente, ya que estoy usando los puertos 80 y 443 para hacer una conexión TCP y el SSH SSL usará el certbot para validar la conexión, un poco lio pero no quise abrir el puerto 22 incluso dentro de mi NAT, así sería el .ssh/config:
host aimssh.yoursite.sh
Port 443
ProxyCommand openssl s_client -quiet -connect %h:%p -servername %h 2>/dev/null
LogLevel QUIETUna vez ya configurado todo, debería uno de poder hacer `ssh aimssh.yoursite.sh` aceptar la conexión y usar aimssh.
