Solusi 1:
Saya pikir saya akan melakukan pendekatan ini dari arah lain - gunakan 'command=' pada entri kunci publik di file ~/.ssh/authorized_keys Anda di server jarak jauh, untuk menjalankan perintah "su -" Anda.
Kemudian cukup gunakan/referensikan kunci pribadi di file ~/.ssh/config Anda (opsi IdentityFile) untuk setiap host/alias ("myserver-root") yang ingin Anda gunakan dengan cara ini.
Opsi yang tersedia di authorized_keys(5) didokumentasikan di sshd(8).
Solusi 2:
Gunakan kekuatan Luke!
gunakan RequestTTY force
di ~/.ssh/config
Anda untuk host yang diinginkan.
Omong-omong. ini juga dibahas di sini https://unix.stackexchange.com/questions/27713/ssh-config-way-to-spectify-pseudo-tty-allocation-and-command-execution-like-sc/294468#294468
Solusi 3:
Mengapa tidak menambahkan skrip ke dir di jalur Anda (atau alias untuk itu) yang disebut rssh seperti:
#!/bin/bash
ssh $1 -t 'su -'
Maka itu hanya:
rssh myServer