Pregunta:
Quiero poder iniciar sesiones de pantalla en servidores remotos desde un solo comando ssh en mi escritorio. Sin embargo, la pantalla parece necesitar una terminal, que no está disponible cuando se ejecuta un comando a través de ssh.
Entonces lo obvio
ssh root@my.machine screen "tail -f /var/log/messages"
(como ejemplo) no funciona y da
Must be connected to a terminal.
Quiero que ssh inicie el comando en una pantalla para poder iniciar sesión más tarde y adjuntarlo como lo haría a una sesión de pantalla que hubiera iniciado manualmente.
Respuesta:
Intente usar la opción -t para ssh
ssh -t root@my.machine screen "tail -f /var/log/messages"
De man ssh
-t Force pseudo-tty allocation. This can be used to execute arbi- trary screen-based programs on a remote machine, which can be very useful, e.g., when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.