Alias ​​für Sudo, dann SSH

390
sttaq

Ich schreibe einen Alias ​​für die folgenden zwei Befehle:

sudo su - user ssh somewhere 

ich habe es versucht

alias jump='sudo su - user; ssh ' 

und dann diese als verwenden

jump somewhere 

aber das geht nicht. Gibt es Optionen oder ist dies nicht möglich?

3
Nun könnte ich fragen: Warum willst du, dass ich einen `sudo`-basierten Alias ​​wie diesen erstellt? Gibt es einen anderen Zweck, dass möglicherweise eine andere Lösung dafür besser geeignet ist. JakeGould vor 5 Jahren 0
Ich arbeite mit einem Altsystem, bei dem der Benutzer, mit dem wir uns anmelden, keine Berechtigung für SSH hat. Dieser Benutzer hat jedoch die Berechtigung, zu einem anderen Admin-Typ (nicht Root-Benutzer) zu wechseln und dann zu anderen Boxen zu springen. Ich weiß, dass es nicht gut klingt, aber ich kann das nicht ändern. Ich muss immer die 2 Befehle oben eingeben und wollte nur einen Einzeiler haben. sttaq vor 5 Jahren 1

1 Antwort auf die Frage

1
Kamil Maciorowski

Dein sshWille läuft nach dem sudo suZiel, deshalb funktioniert dein Weg nicht. Wenn Sie laufen dürfen, wird sudo sshdies wahrscheinlich funktionieren:

alias jump='sudo -u user ssh ' jump somewhere 

Alternativ su -c. Es teilt tty nicht zu, ssh -ttkann es aber erzwingen. Ich bin mir nicht sicher, ob alles gut geht. Alias ​​würde ein starkes Zitieren und Fluchtgefühl erfordern, mit einer Funktion ist es einfacher:

function jump { sudo su - -c 'ssh -tt "$@"' user su "$@"; } jump somewhere 

Vergessen Sie nicht unalias jump, wenn der Alias ​​noch definiert ist.

schön, aber leider ist ssh nicht erlaubt. Ich verstehe das: Sorry, Benutzer darf nicht "/ usr / bin / ssh irgendwo" als ausführen in der aktuellen Box sttaq vor 5 Jahren 0
Ja, ich kann den Befehl nicht als den anderen Benutzer ausführen. Aber ich kann darauf wechseln und dann die Befehle ausführen. Seltsam -_- sttaq vor 5 Jahren 0
@sttaq Siehe meine erweiterte Antwort. Kamil Maciorowski vor 5 Jahren 1
wow, danke, ich wünschte, ich kann es zweimal bestätigen sttaq vor 5 Jahren 0