
Ich arbeite derzeit von zu Hause aus und muss eine Verbindung zu einem Produktionsserver herstellen. Die Sicherheitsrichtlinie bei der Arbeit erlaubt es VPN-Clients nicht, eine Verbindung zu Produktionsinstanzen herzustellen. Daher dachte ich, ich könnte die Agentenweiterleitung über den Entwicklungsserver (auf den ich zugreifen kann) konfigurieren, da dies zulässig ist.
Dazu habe ich zunächst die Agentenweiterleitung für den Dev-Server aktiviert:
- Ich habe den Eintrag für den Entwicklungsserver auf meinem Computer
ForwardAgent yes
hinzugefügt~/.ssh/config
- Ich habe
eval 'ssh-agent'
den SSH-Agenten gestartet - Ich habe meinen SSH-Schlüssel zum Agenten hinzugefügt mit
ssh-add ~/.ssh/id_rsa
- Ich habe mich mit dem Dev-Server verbunden über
ssh -A <devserver>
- Auf dem Dev-Server habe ich versucht, eine Verbindung zum Produktionsserver herzustellen mit
ssh -T me@<prodserver>
Danach konnte ich Befehle auf dem Produktionsserver ausführen. Allerdings sehe ich nie die eigentliche Bash-Eingabeaufforderung.
Kann ich etwas tun, um sicherzustellen, dass die Eingabeaufforderung angezeigt wird?
Antwort1
Führen Sie im letzten Schritt ssh
ohne die -T
Option aus:
-T Disable pseudo-terminal allocation.
Durch die Verwendung dieser -T
Option wird tatsächlich die Zuweisung eines TTY deaktiviert, was wiederum dazu führt, dass Sie keine Shell erhalten.
mtak@rubiks:~/bla(develop)$ ssh gen1
THIS IS A PRIVATE COMPUTER SYSTEM. Unauthorized access prohibited.
You have mail.
Last login: Tue Mar 10 10:45:25 2020 from vpn-int-2.int.mtak.nl
mtak@gen1:~$ logout
Connection to gen1 closed.
mtak@rubiks:~/bla(develop)$ ssh -T gen1
THIS IS A PRIVATE COMPUTER SYSTEM. Unauthorized access prohibited.
You have mail.
date
ma mrt 16 16:12:53 CET 2020
Antwort2
Ich habe versucht, eine Verbindung zum Produktionsserver herzustellen mit
ssh -T me@<prodserver>
Sie erhalten keine Eingabeaufforderung, da Sie die -T
Optionhabe ssh angewiesen, den Terminalmodus zu deaktivieren(TTY-Zuweisung).
Durch die Anwesenheit eines TTYs bestimmen alle Programme, ob sie interaktiv ausgeführt werden (d. h. an Terminal/Tastatur angeschlossen) oder ob sie Befehle aus einer Datei oder einer Pipe erhalten. Im letzteren Fall, d. h. im „Batch“-Modus, ist es normal, dass Shells alle Eingabeaufforderungen deaktivieren; Tools wie „ls“ verlieren ihre schicke Formatierung und farbige Ausgabe usw.