Ist es möglich, Remote-Computer ohne Eingabe des Kennworts herunterzufahren?


1

Ich habe die folgende Bash verwendet, um Remotecomputer herunterzufahren, aber für jeden Computer muss das Kennwort eingegeben werden. Kann das Kennwort automatisch eingegeben werden?

#!/bin/bash

ssh -t root@192.168.1.11 "sudo poweroff"
ssh -t root@192.168.1.12 "sudo poweroff"
ssh -t root@192.168.1.13 "sudo poweroff"
ssh -t root@192.168.1.14 "sudo poweroff"
ssh -t root@192.168.1.15 "sudo poweroff"
ssh -t root@192.168.1.16 "sudo poweroff"
ssh -t root@192.168.1.17 "sudo poweroff"
ssh -t root@192.168.1.18 "sudo poweroff"
ssh -t root@192.168.1.19 "sudo poweroff"
ssh -t root@192.168.1.20 "sudo poweroff"
ssh -t root@192.168.1.21 "sudo poweroff"
ssh -t root@192.168.1.22 "sudo poweroff"
ssh -t root@192.168.1.23 "sudo poweroff"
ssh -t root@192.168.1.24 "sudo poweroff"
ssh -t root@192.168.1.25 "sudo poweroff"
ssh -t root@192.168.1.26 "sudo poweroff"

Ist es möglich, dass Sie Ihre id_rsa.pub in die .ssh / authorized_keys jedes Hosts einfügen?
ott--

Anstatt den gleichen Befehl zu kopieren und einzufügen, können Sie auch a verwenden for host in ... oder ein while read host ... < hosts.txt Schleife .
Cristian Ciupitu

Antworten:


2

Das musst du nicht. Da melden Sie sich an als root Es gibt absolut keinen Grund zur Verwendung sudo, Renn einfach poweroff oder besser) shutdown -h direkt.

Wenn aus irgendeinem Grund nicht in Ihrer Frage erklärt, brauchen Sie wirklich sudo, benutzen sudo 's -S Möglichkeit. Von man sudo:

   -S          The -S (stdin) option causes sudo to read
               the password from the standard input
               instead of the terminal device.  The
               password must be followed by a newline
               character.

Zum Beispiel:

#!/bin/bash

ssh -t root@192.168.1.11 "echo PASSWORD1 | sudo -S poweroff"
ssh -t root@192.168.1.12 "echo PASSWORD2 | sudo -S poweroff"

2
Beachten Sie, dass die Weitergabe des Kennworts auf diese Weise ein Sicherheitsrisiko darstellt. Stellen Sie einfach sicher, dass Sie sich der Auswirkungen bewusst sind. :)
ChrisInEdmonton

2

Um die Passworteingabe zu vermeiden, verwenden Sie ssh-keygen zum Erstellen und Hochladen von Authentifizierungsschlüsseln Öffentlicher Schlüssel an alle Ihre Server. ZWISCHEN Sehne rechts, wenn Sie root nicht verwenden sudo.

ssh root@192.168.1.11 poweroff
ssh root@192.168.1.12 poweroff
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.