SSH-Verbindung nicht persistent

8

Ich habe das folgende Skript, das SSH in einen Netzwerkserver und führt einige Befehle, aus irgendeinem Grund die SSH-Verbindung öffnet, aber bis die Befehle ausgeführt werden, schließt es (denke ich), als Folge die Befehle mit unten sind fehlgeschlagen Error? Kann jemand Informationen zur Verfügung stellen, wie man die SSH-Verbindung dauerhaft macht?

%Vor%

Fehler:

%Vor%     
user2125827 04.05.2015, 18:32
quelle

4 Antworten

2

Jeder Befehl, den Sie mit exec_command ausführen, hat einen eigenen Kanal und damit einen eigenen Kontext. Dieser Kontext enthält das Arbeitsverzeichnis. Sie ändern das Arbeitsverzeichnis in einem Kontext und versuchen dann, es in einem anderen Kontext zu verwenden. Verwenden Sie stattdessen den gleichen Kanal für alle Befehle. Sie können entweder einen Kanal öffnen und ihn verwenden oder einfach alle Befehle gleichzeitig ausgeben.

%Vor%

Hier sind ein paar andere Fragen, die das genauer erklären sollten.

Ссылка Ссылка Ссылка

    
kichik 04.05.2015 18:37
quelle
2

Der Trick besteht darin, vor dem Ausführen des Befehls in das Verzeichnis zu wechseln. Sie können es leicht in Ihre execute_command integrieren:

%Vor%

Der Befehl wird von einer Shell auf dem Remote-Rechner ausgeführt, sodass auch Shell-Tricks wie das Setzen von Umgebungsvariablen hinzugefügt werden können.

    
tdelaney 07.05.2015 19:43
quelle
0

Mach einfach:

%Vor%

was für mich funktioniert hat. (Sie haben vergessen, dass .send () Zeilen nicht automatisch hinzufügt)

    
user2284570 25.05.2015 18:44
quelle
0
  

Kann jemand Auskunft geben, wie man die SSH-Verbindung persistent macht?

Im Folgenden sehen Sie ein Beispiel dafür, wie Sie eine SSH-Verbindung persistent machen, indem Sie versuchen, einen Befehl auszuführen und dann auf die Verbindung zurückzugreifen und dann den Befehl auszuführen, wenn Fehler auftreten.

%Vor%     
Claris 18.05.2015 22:36
quelle

Tags und Links