keine Eingabeaufforderung bei Verbindung mit SSH über Agent-Weiterleitung

keine Eingabeaufforderung bei Verbindung mit SSH über Agent-Weiterleitung

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:

  1. Ich habe den Eintrag für den Entwicklungsserver auf meinem Computer ForwardAgent yeshinzugefügt~/.ssh/config
  2. Ich habe eval 'ssh-agent'den SSH-Agenten gestartet
  3. Ich habe meinen SSH-Schlüssel zum Agenten hinzugefügt mitssh-add ~/.ssh/id_rsa
  4. Ich habe mich mit dem Dev-Server verbunden überssh -A <devserver>
  5. Auf dem Dev-Server habe ich versucht, eine Verbindung zum Produktionsserver herzustellen mitssh -T me@<prodserver>

Danach konnte ich Befehle auf dem Produktionsserver ausführen. Allerdings sehe ich nie die eigentliche Bash-Eingabeaufforderung.

Fehlende Bash-Eingabeaufforderung

Kann ich etwas tun, um sicherzustellen, dass die Eingabeaufforderung angezeigt wird?

Bildbeschreibung hier eingeben

Antwort1

Führen Sie im letzten Schritt sshohne die -TOption aus:

-T      Disable pseudo-terminal allocation.

Durch die Verwendung dieser -TOption 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 mitssh -T me@<prodserver>

Sie erhalten keine Eingabeaufforderung, da Sie die -TOptionhabe 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.

verwandte Informationen