Melden Sie sich über ein Skript bei einem Remote-Server an und führen Sie eine Reihe von Befehlen aus

8

Wie kann ich mich bei einem Remote-Server anmelden und eine Reihe von Befehlen ausführen? Wenn Sie fertig sind, melden Sie sich ab und setzen Sie mein Skript fort?

Danke.

    
emurad 04.06.2011, 20:45
quelle

3 Antworten

8

ssh kann verwendet werden, um einen Befehl auszuführen, anstatt eine interaktive Remote-Anmelde-Shell zu starten. Zum Beispiel:

%Vor%

Meldet sich beim Host an und führt den Befehl ls aus.

Sie können dies innerhalb eines Bash-Skripts wie gewohnt verwenden:

%Vor%

Von der SSH-Manpage ist der Exit-Status der Exit-Status des remove-Befehls oder 255, wenn ein Fehler aufgetreten ist.

    
Louis Marascio 04.06.2011, 20:49
quelle
1

Kleine Variante mit einfacherer Codeformatierung mit ssh und bash -s :

%Vor%     
acolo 05.06.2011 10:11
quelle
1

Wie andere angegeben haben, können Sie ssh verwenden. Wenn Sie jedoch ein Skript ausführen, sollten Sie ssh für die Anmeldung ohne Passwort einrichten. Sie können dies tun, indem Sie einen öffentlichen / privaten Schlüssel über den Befehl ssh-keygen einrichten. Ändern Sie auch die Berechtigung der Schlüsseldateien (id_rsa, id_rsa.pub) als 600 für den öffentlichen Schlüssel und 400 für den privaten Schlüssel für die Sicherheit der Änderung. chmod 600 id_rsa.pub; chmod 400 id_rsa

Auf Ihrem System führen Sie ssh-keygen aus, um die öffentlichen und privaten Schlüssel zu generieren. Unter Unix / Linux / Mac befinden sich diese im Verzeichnis $HOME/.ssh . (Lassen Sie die Passphrase leer!). Dann möchten Sie eine Datei mit dem Namen authorized_keys auf dem Remote-Computer im Verzeichnis $HOME/.ssh erstellen und Ihren öffentlichen Schlüssel dort kopieren. Es ist nicht notwendig, Verschlüsselungsschlüssel auf remote m / c zu generieren.

Wenn Sie jetzt ssh oder scp für den Remote-Computer ausführen, müssen Sie das Kennwort nicht eingeben.

    
David W. 05.06.2011 12:43
quelle

Tags und Links