GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie übergebe ich das Passwort an su/sudo/ssh, ohne das TTY zu überschreiben?

Für sudo gibt es eine Option -S, um das Passwort von der Standardeingabe zu akzeptieren. Hier ist der Mann-Eintrag:

    -S          The -S (stdin) option causes sudo to read the password from
                the standard input instead of the terminal device.

Dadurch können Sie einen Befehl wie den folgenden ausführen:

echo myPassword | sudo -S ls /tmp

Was ssh betrifft, habe ich viele Versuche unternommen, seine Verwendung zu automatisieren/skripten, ohne Erfolg. Es scheint keine eingebaute Möglichkeit zu geben, das Passwort ohne Aufforderung an den Befehl zu übergeben. Wie andere bereits erwähnt haben, scheint das Dienstprogramm "erwartet" darauf abzuzielen, dieses Dilemma zu lösen, aber letztendlich ist das Einrichten der richtigen Autorisierung des privaten Schlüssels der richtige Weg, wenn Sie versuchen, dies zu automatisieren.


Ich habe ein Applescript geschrieben, das über ein Dialogfeld zur Eingabe eines Passworts auffordert und dann einen benutzerdefinierten Bash-Befehl wie diesen erstellt:

echo <password> | sudo -S <command>

Ich bin mir nicht sicher, ob das hilft.

Es wäre schön, wenn sudo ein vorverschlüsseltes Passwort akzeptieren würde, damit ich es in meinem Skript verschlüsseln könnte und mir keine Gedanken darüber machen müsste, Klartext-Passwörter zu wiederholen. Dies funktioniert jedoch für mich und meine Situation.


Für sudo können Sie dies auch tun:

sudo -S <<< "password" command

Für ssh Sie können sshpass verwenden :sshpass -p yourpassphrase ssh [email protected] .

Sie müssen nur zuerst sshpass herunterladen :)

$ apt-get install sshpass
$ sshpass -p 'password' ssh [email protected]

Linux
  1. So richten Sie die SSH-Anmeldung ohne Passwort ein

  2. Wie man sudo dazu bringt, sich das Passwort länger zu merken

  3. Wie kann ich SVN in der Befehlszeile ein SSH-Passwort bereitstellen?

  4. So führen Sie den ssh-Befehl einen sudo-Befehl ohne Passwort aus der Ferne aus

  5. SSH - So fügen Sie den Befehl -t in die Datei ~/.ssh/config ein

So ändern Sie die Sudo-Eingabeaufforderung in Linux

So führen Sie bestimmte Befehle ohne Sudo-Passwort in Linux aus

So übergeben Sie das Passwort an den SSH-Befehl in Linux

So führen Sie Sudo-Befehle ohne Passwort aus

So ändern Sie das Sudo-Passwort-Timeout in Ubuntu

So führen Sie sudo-Befehle ohne Passwort aus