Solution 1 :
Je pense que j'aborderais cela dans l'autre sens - utilisez 'command=' sur l'entrée de clé publique dans votre fichier ~/.ssh/authorized_keys sur le serveur distant, pour exécuter votre commande "su -".
Ensuite, utilisez/référez-vous simplement à la clé privée dans votre fichier ~/.ssh/config (option IdentityFile) pour chaque hôte/alias ("myserver-root") que vous souhaitez utiliser de cette façon.
Les options disponibles dans authorized_keys(5) sont documentées dans sshd(8).
Solution 2 :
Utilise la force Luke !
utilisez RequestTTY force
dans votre ~/.ssh/config
pour l'hôte souhaité.
d'ailleurs. ceci est également discuté ici https://unix.stackexchange.com/questions/27713/ssh-config-way-to-spectify-pseudo-tty-allocation-and-command-execution-like-sc/294468#294468
Solution 3 :
Pourquoi ne pas ajouter un script à un répertoire dans votre chemin (ou un alias pour celui-ci) appelé rssh comme :
#!/bin/bash
ssh $1 -t 'su -'
Alors c'est juste :
rssh myServer