Wenn Sie wissen, dass Sie 'ssh' sind, aber nicht wissen woher, versuchen Sie es
w
an einer Befehlszeile. Die Ausgabe enthält ein FROM-Feld, das nützlich sein kann.
Gibt es eine einfache Möglichkeit zu erkennen, ob ich irgendwo SSH habe, ohne 'exit' einzugeben?
Wenn ich momentan am Computer A sitze und ich SSH an Computer B und dann zwischen B und Computer C sitze, gibt es eine Möglichkeit, die Schließung der Sitzung zu erklären und "Hostname" zu verwenden, um herauszufinden, wo ich bin bin bei
(Vermutlich würde diese Lösung auch deutlich machen, dass ich nirgendwo SSH wäre, wenn ich nur bei localhost bin, aber wenn ich anderswo SSH bin und von dort aus SSH zu meinem lokalen Rechner zurückkehren würde, wäre ich in der Lage erzählen.)
Wenn Sie wissen, dass Sie 'ssh' sind, aber nicht wissen woher, versuchen Sie es
w
an einer Befehlszeile. Die Ausgabe enthält ein FROM-Feld, das nützlich sein kann.
Stellen Sie Ihre Eingabeaufforderung so ein, dass sie den Hostnamen enthält. Ansonsten würde ich gerne screen
bei jedem Login mit einer Statuszeile verwenden, die den Hostnamen enthält (etwas kompliziert einzurichten, und es wird rekursiv mit Statuszeilen innerhalb von Bildschirmen mit Statuszeilen). Sie sollten echo $HOSTNAME
oder nur ausführen können hostname
.
Schauen Sie sich $ SSH_CONNECTION an. Hier erfahren Sie, von welcher IP-Adresse und von welchem Port Sie gerade eine Verbindung herstellen. Zumindest ist dies bei OpenSSH der Fall. YMMV mit anderen Servern.
Ich mag die "w" Antwort,
Eine andere Möglichkeit ist, den Hostnamen zu überprüfen, um herauszufinden, wie der Name des Computers lautet:
hostname
Stellen Sie in Ihrem Szenario eine direkte Verbindung von A nach C her, falls dies möglich ist. Dadurch wird die doppelte Verschlüsselung vermieden. Und vielleicht erhöht sich die Latenz.
Ändern Sie auch die Shell-Variable PS1 für jedes Konto, um den Hostnamen wiederzugeben, falls dies noch nicht der Fall ist. Dieser Trick hilft Ihnen auch in Situationen, in denen Sie chroot verwenden.