Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >So verwenden Sie SSH für die Remote-Skriptausführung in Linux SysOps

So verwenden Sie SSH für die Remote-Skriptausführung in Linux SysOps

WBOY
WBOYOriginal
2023-09-26 08:46:581225Durchsuche

Linux SysOps中使用SSH进行远程脚本执行的方法

Die Methode zur Verwendung von SSH für die Remote-Skriptausführung in Linux SysOps erfordert spezifische Codebeispiele

Übersicht:
Bei Linux-Systemvorgängen können Remote-Anmeldung und Befehlsausführung mithilfe von SSH (Secure Shell) erreicht werden. Die Remote-Skriptausführung ist eine Technologie, die häufig bei Linux-SysOps-Arbeiten verwendet wird. Sie kann uns dabei helfen, mehrere Linux-Server aus der Ferne zu verwalten, zu konfigurieren und zu überwachen. In diesem Artikel wird die Verwendung von SSH für die Remote-Skriptausführung vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern das Verständnis und die Anwendung zu erleichtern.

Schritt 1: SSH-Client und -Server installieren
Bevor wir beginnen, müssen wir sicherstellen, dass SSH sowohl auf dem Client als auch auf dem Server installiert ist. Normalerweise installieren die meisten Linux-Distributionen den SSH-Server standardmäßig, aber wenn er nicht installiert ist, können wir ihn mit dem folgenden Befehl installieren:

sudo apt-get install openssh-server  # Debian/Ubuntu系统
sudo yum install openssh-server      # CentOS/RHEL系统

Der SSH-Client wird normalerweise auch mit dem Linux-System installiert , können wir den folgenden Befehl zur Installation verwenden:

sudo apt-get install openssh-client    # Debian/Ubuntu系统
sudo yum install openssh-clients       # CentOS/RHEL系统

Schritt 2: SSH-Schlüsselpaar generieren
Um die Sicherheit von SSH-Verbindungen zu gewährleisten, verwenden wir normalerweise eine Schlüsselauthentifizierung anstelle einer Passwortauthentifizierung. Wir können SSH-Schlüsselpaare für die Remote-Skriptausführung verwenden. Zuerst müssen wir den öffentlichen und privaten Schlüssel lokal generieren. Sie können den folgenden Befehl verwenden, um ein SSH-Schlüsselpaar zu generieren:

ssh-keygen -t rsa

Dieser Befehl generiert den öffentlichen Schlüssel id_rsa.pub und den privaten Schlüssel im <code>.sshdes Benutzers > Verzeichnis >id_rsa. .ssh目录下生成公钥id_rsa.pub和私钥id_rsa

步骤3:建立SSH信任关系
在远程执行脚本之前,我们需要在本地和远程主机之间建立SSH信任关系,以使远程主机信任我们的公钥。我们可以使用ssh-copy-id命令将公钥复制到远程主机上:

ssh-copy-id username@remote_host

其中,username是远程主机上的用户名,remote_host是远程主机的IP地址或主机名。执行命令后,系统会要求输入远程主机的密码,然后将公钥复制到远程主机的~/.ssh/authorized_keys文件中。

步骤4:远程脚本执行
一旦建立了SSH信任关系,我们就可以使用SSH进行远程脚本执行了。以下是一个示例脚本,它将远程执行远程主机上的命令,并将输出打印到本地终端:

#!/bin/bash

remote_host="remote_host"
remote_user="remote_user"
command="command_to_execute"

output=$(ssh $remote_user@$remote_host $command)
echo "$output"

在脚本中,将remote_host替换为远程主机的IP地址或主机名,将remote_user替换为远程主机上的用户名,将command_to_execute替换为要在远程主机上执行的命令。通过ssh命令,我们可以在本地执行远程主机上的命令,并将输出保存到output

Schritt 3: SSH-Vertrauensstellung einrichten

Bevor wir das Skript remote ausführen, müssen wir eine SSH-Vertrauensstellung zwischen dem lokalen und dem Remote-Host einrichten, damit der Remote-Host unserem öffentlichen Schlüssel vertraut. Wir können den Befehl ssh-copy-id verwenden, um den öffentlichen Schlüssel auf den Remote-Host zu kopieren:

rrreee

wobei username der Benutzername auf dem Remote-Host ist, remote_host ist die IP-Adresse oder der Hostname des Remote-Hosts. Nach der Ausführung des Befehls fragt das System nach dem Passwort des Remote-Hosts und kopiert dann den öffentlichen Schlüssel in die Datei ~/.ssh/authorized_keys des Remote-Hosts.

Schritt 4: Remote-Skriptausführung🎜Sobald die SSH-Vertrauensbeziehung eingerichtet ist, können wir SSH für die Remote-Skriptausführung verwenden. Hier ist ein Beispielskript, das einen Befehl remote auf einem Remote-Host ausführt und die Ausgabe auf dem lokalen Terminal ausgibt: 🎜rrreee🎜Ersetzen Sie im Skript remote_host durch die IP-Adresse oder den Hostnamen des Remote-Hosts Ersetzen Sie remote_user durch den Benutzernamen auf dem Remote-Host und command_to_execute durch den Befehl, der auf dem Remote-Host ausgeführt werden soll. Mit dem Befehl ssh können wir Befehle lokal auf dem Remote-Host ausführen und die Ausgabe in der Variablen output speichern. Abschließend drucken wir die Ausgabe auf dem lokalen Terminal aus. 🎜🎜Wir können es entsprechend den tatsächlichen Anforderungen ändern und erweitern, z. B. das Ausführen mehrerer Befehle über eine Schleifenstruktur, das Bereitstellen von Skripts auf mehreren Remote-Hosts usw. 🎜🎜Zusammenfassung: 🎜Durch die Verwendung von SSH für die Remote-Skriptausführung kann Linux SysOps mehrere Linux-Server effizienter verwalten und warten. Dieser Artikel beschreibt die Schritte zur Remote-Skriptausführung über SSH und stellt spezifische Codebeispiele bereit. Leser können es je nach tatsächlichem Bedarf ändern und erweitern, um es an verschiedene Szenarien und Aufgaben anzupassen. Ich hoffe, dass dieser Artikel den Lesern eine nützliche Anleitung bietet und dabei hilft, ihre Linux-SysOps-Kenntnisse zu verbessern. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie SSH für die Remote-Skriptausführung in Linux SysOps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn