SSH ForcedCommand bewirkt, dass die Verbindung geschlossen wird

494
gsingh2011

Ich sende einen Server (ich bin auf cygwin, der openSSH verwendet), und ich ging in authorized_keys und änderte die Datei wie folgt: ssh-rsa [key] in command = "echo Working" ssh-rsa [key]

Wenn ich jetzt eine Verbindung zum Server herstelle, bekomme ich die Ausgabe funktioniert, aber danach bekomme ich "Verbindung zu [Servername]" geschlossen.

Warum wird die Verbindung geschlossen? Habe ich etwas falsch gemacht oder erlaubt der Server irgendwie keine erzwungenen Befehle?

1

1 Antwort auf die Frage

2
Daniel Beck

Sie ersetzen die Shell, die Sie normalerweise mit diesem Befehl starten würden. Es verhält sich also genau wie konfiguriert: Verbinden, authentifizieren, den echoBefehl ausführen und beenden.

Dies soll verwendet werden, um z. B. automatisierte Jobs wie Sicherungen auszulösen, wenn ein bestimmter Schlüssel zur Authentifizierung verwendet wird, bei dem die Verbindung nach dem Programmaufruf geschlossen wird.

Wenn ich diesen Befehl ausführen und danach verbunden bleiben wollte, welchen Teil des Befehls würde ich dann ändern? Ich wollte ein Startskript ausführen und in Verbindung bleiben, das Echo funktionierte nur zu Testzwecken. gsingh2011 vor 13 Jahren 0
@ gsingh2011 Sie könnten versuchen, `echo Working 'auszuführen. bash` oder `echo Working && bash`, um explizit eine Bash-Shell zu starten. Ich bin mir nicht sicher, ob es funktioniert. Daniel Beck vor 13 Jahren 0
Echo arbeiten; bash hat richtig funktioniert. Heute etwas Neues gelernt :) gsingh2011 vor 13 Jahren 0