¿Hay alguna forma de especificar, en .ssh/config, un comando como:
ssh -t remote-host "screen -dR screen_name"
para poder acceder fácilmente a la screensesión remota con ssh remote-host?
En este momento resolví este problema usando un script personalizado:
$ cat ~/bin/sssh
#!/bin/sh
/usr/bin/ssh -t $1 "screen -dR ab"
~/binse queda primero en $PATH, pero es poco flexible y feo.
También me gustaría encontrar la manera de implementar el autocompletado de host para mi script personalizado.

$1con$@. Luego puede agregar más opciones, no solo el nombre de host. Para completar, intente ejecutar. /usr/share/bash-completion/completions/ssh, seguido decomplete -F _ssh ssshRespuestas:
Para asignar el tty como lo haría con la
-topción, colóqueloRequestTTY forcecomo una entrada en el archivo de configuración ssh (generalmente en~/.ssh/config). Para ejecutar siempre un comando en el servidor después de que se haya conectado, ingreseRemoteCommand COMMANDla entrada, dondeCOMMANDestá el comando que desea ejecutar al conectarse. Para otras opciones, consultarman ssh_config.fuente
¡Usa la fuerza Luke!
RequestTTY forceen su~/.ssh/configpara el host deseado.fuente
Yo diría que esta es la forma más flexible. Un script le permite configurar parámetros, agregar condicionales, cambiar el comando según sea necesario, todo basado en las entradas.
Hay formas de "forzar" el comando
authorized_keys. Pero no conozco una forma de forzar la asignación de tty excepto desde la línea de comandos o forzar un comando en el servidor remoto desde los archivos de configuración del lado local.Yo mismo, tengo un script que escanea el archivo de configuración, comprueba el DNS con varios dominios y establece la cadena de título del emulador de terminal. Lo llamo desde la pantalla en mi sistema local ( Ctrl-a g).
fuente
Nota:
RemoteCommandcomienza a funcionar con OpenSSH 7.6 . En la versión anterior (es decir, Debian 9.9 actual) el cliente ssh dejará de funcionar correctamente (al menos congit pull).fuente