Angenommen, der Benutzer, den Sie in remote.host verwenden möchten, ist derselbe, den Sie in local.host verwenden.
Dazu müssen Sie zuerst Ihren local.host autorisieren, ohne Kennwort eine Verbindung zu Ihrem remote.host herzustellen.
Dazu müssen Sie: (wie hier beschrieben)
Schritt 1: Installieren Sie ssh
sudo apt-get install ssh
Schritt 2: Erstellen Sie öffentliche und private Schlüssel mit ssh-key-gen auf dem lokalen Host
Geben Sie auf Ihrem lokalen Host den folgenden Befehl ein:
ssh-keygen
Sie sollten den generierten Schlüssel speichern in:
/home/yourusername/.ssh/id_rsa
Drücken Sie zweimal die Eingabetaste, um die Passphrase leer zu lassen.
Your identification has been saved in /home/yourusername/.ssh/id_rsa.
Your public key has been saved in /home/yourusername/.ssh/id_rsa.pub.
The key fingerprint is:
XX:XX:XX:xX:XX:xX:XX:XX:XX:XX:XX:XX:XX:XX yourusername@local-host
Schritt 3: Kopieren Sie den öffentlichen Schlüssel mit ssh-copy-id auf den Remote-Host
yourusername@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
yourusername@remote-host's password:
Now try logging into the machine, with "ssh remote-host", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Hinweis: ssh-copy-id hängt die Schlüssel an den /home/yourusername/.ssh/authorized_key des Remote-Hosts an
Schritt 4: Melden Sie sich beim Remote-Host an, ohne das Kennwort einzugeben
ssh remote-host
[email protected]:~$
Zugriff auf Remote-Host ohne Passwort. Erfolg!
Jetzt müssen Sie in der Lage sein , das sudo shutdown -P 0 ohne Passwort auszuführen .
Ändern Sie / etc / sudoers auf remote.host mit visudo
Auf diese Weise kann der Benutzer " Ihr Benutzername" den Befehl zum Herunterfahren ausführen, ohne dass ein Kennwort abgefragt wird.
Melden Sie sich beim Remote-Host an.
ssh remote.host
Lauf:
sudo visudo
Wenn Sie visudo ausführen, werden / etc / sudoers bearbeitet.
Hinzufügen der folgenden Zeile zu dieser Datei.
yourusername ALL = NOPASSWD: /sbin/shutdown
Kehren
Sie dazu zu Ihrem local.host zurück. Erstellen Sie eine neue leere Datei, fügen Sie diese Zeile ein und ändern Sie den Namen des remote.host
ssh remote.host sudo shutdown -P 0
Speichern und schließen Sie es, gehen Sie zu seiner Eigenschaften- Folie zu Berechtigungen und klicken Sie, um diese Datei als Programm auszuführen
Skript fertig!
Sie können ein Benutzerkonto mit einer Schlüsseldatei anstelle eines Kennworts verwenden (Sie müssen also nicht das Kennwort eingeben, um sich anzumelden). Sie können dem Benutzer auch eine "Standard-Shell" geben, die nicht "bash" oder "sh" ist, sondern "shutmedown.sh" oder ähnliches, wodurch Ihr Shutdown-Code ausgeführt wird.
quelle
ssh desktop
, dass es erfolgreich ausgeführt wird. Und danach habe ich ein weiteres Problem, wie man den Befehlsudo
eingibt und das Passwort eingibt?