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>.ssh</code des 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
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:
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.
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!