He configurado un túnel a través de autossh.
Esto funciona:
autossh -M 33201 -N -i myIdFile -R 33101:localhost:22 [email protected]
Me gustaría ejecutar autossh en segundo plano. Parece fácil usar la -f
opción.
Sin embargo, esto no funciona:
autossh -f -M 33201 -N -i myIdFile -R 33101:localhost:22 [email protected]
Autossh funciona bien en segundo plano, pero la conexión ssh parece fallar cada vez. En / var / syslog veo múltiples ocurrencias de:
autossh[3420]: ssh exited with error status 255; restarting ssh
¿Qué estoy haciendo mal? Una suposición descabellada es que tiene algo que ver con la autenticación a través del archivo de clave. ¿Cómo puedo depurar esto? (Agregar -v a las opciones ssh no parece iniciar sesión en ningún lado).
Editar: obtuve algunos registros ssh usando la opción -y
/usr/bin/ssh[3484]: debug1: Next authentication method: publickey
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_rsa
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_dsa
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_ecdsa
/usr/bin/ssh[3484]: debug1: No more authentication methods to try.
/usr/bin/ssh[3484]: fatal: Permission denied (publickey).
autossh[3469]: ssh exited with error status 255; restarting ssh
Entonces parece que autossh no acepta mi archivo de identidad ( -i myIdFile
) cuando uso la opción -f. ¿Porqué es eso?
(Autossh 1.4c en Raspian)
ssh
ssh-tunnel
Henning77
fuente
fuente
Respuestas:
Parece que cuando autossh cae al fondo (opción -f) está cambiando el directorio de trabajo, lo que significa que las rutas relativas ya no funcionan. O más específico: al ingresar la ruta absoluta de su archivo de identificación , probablemente tendrá éxito.
Volví a crear el escenario creando una clave sin contraseña en una ubicación no predeterminada:
Simplemente presiono enter dos veces para generar una clave que no está protegida por una contraseña.
Copié la nueva clave en mi servidor (que permite la autenticación de contraseña actualmente):
Primero confirmé que la clave funcionaba con ssh normal, luego usé autossh como tú:
Ambos funcionaron bien, así que recreé el problema que tenía:
Esto no funcionó y se escribió lo siguiente para
/var/log/syslog
:Al cambiar la ruta del archivo de claves para que sea absoluta, funcionó:
No hay errores en
/var/log/syslog
.fuente
No estoy seguro de lo que está sucediendo con el -f, pero tampoco podrías hacerlo:
fuente
nohup
También trabajó para correrautossh
bajorunit
en Alpine LinuxAgregue los siguientes parámetros a SSH para omitir "¿Está seguro de que desea continuar conectando (sí / no)?"
El comando final estaría en el siguiente formato:
fuente
StrictHostKeyChecking=no
menos que te estés conectando a un juguete efímero conocido y estés eligiendo ser perezoso.