Solución 1:
Creo que abordaría esto desde la otra dirección:use 'command=' en la entrada de clave pública en su archivo ~/.ssh/authorized_keys en el servidor remoto, para ejecutar su comando "su -".
Luego simplemente use/haga referencia a la clave privada en su archivo ~/.ssh/config (opción de IdentityFile) para cada host/alias ("myserver-root") que desee que funcione de esta manera.
Las opciones disponibles en authorized_keys(5) están documentadas en sshd(8).
Solución 2:
¡Usa la fuerza Luke!
usa RequestTTY force
en tu ~/.ssh/config
para el host deseado.
por cierto. esto también se discute aquí https://unix.stackexchange.com/questions/27713/ssh-config-way-to-spectify-pseudo-tty-allocation-and-command-execution-like-sc/294468#294468
Solución 3:
¿Por qué no agregar un script a un directorio en su ruta (o un alias para él) llamado rssh como:
#!/bin/bash
ssh $1 -t 'su -'
Entonces es solo:
rssh myServer