Kann ich das Kennwort als Parameter in SCP eingeben, anstatt danach gefragt zu werden?
Wie kann ich das Passwort speichern, wenn ich eine Datei mit SCP kopiere? Diese Frage ist ähnlich, aber in den Antworten geht es darum, das SSH-Passwort vollständig abzuschaffen.
Antwort1
Es gibt mehrere Möglichkeiten:
- mit sshpass
Führen Sie den Befehl aus:
sshpass -p 'password' scp filename user@host:
Installieren Sie sshpass:
- Ubuntu:
sudo apt install sshpass
sshpass - nicht interaktiver SSH-Passwortanbieter
sshpass ist ein Dienstprogramm zum Ausführen von SSH im Modus der „tastaturinteraktiven“ Kennwortauthentifizierung, jedoch im nicht-interaktiven Modus.
ssh verwendet direkten TTY-Zugriff, um sicherzustellen, dass das Kennwort tatsächlich von einem interaktiven Tastaturbenutzer eingegeben wurde. Sshpass führt ssh in einem dedizierten TTY aus und täuscht so vor, dass es denkt, es erhalte das Kennwort von einem interaktiven Benutzer.
Der auszuführende Befehl wird nach den eigenen Optionen von sshpass angegeben. Normalerweise ist es „ssh“ mit Argumenten, aber es kann genauso gut jeder andere Befehl sein. Die von ssh verwendete Kennwortabfrage ist derzeit jedoch in sshpass fest codiert.
- Verwenden vonerwarten(oder anderes Skript)
Schreiben Sie ein Skript, das das Passwort einfügt, sobald es die SSH-Passwortabfrage identifiziert
- SSH mit Schlüsselpaar verwenden (anstatt Passwort zu verwenden)
Meiner bescheidenen Meinung nach ist dies die sicherste Methode und erfordert keine Verwendung von Passwörtern.
Verwenden Sie einen öffentlichen/privaten Schlüssel, um ssh
einen scp
Vorgang ohne Eingabe eines Kennworts durchzuführen.
Weitere Informationen finden Sie indiese Antwort
Detaillierte Informationen finden SieHier
Antwort2
Es gibt bereits eine Antwort darauf, wie es geht, deshalb werde ich mich auf die Gründe konzentrieren, warum nicht.
- Wenn Sie in der Befehlszeile ein Kennwort übergeben, kann es von einem lokalen Benutzer mithilfe von
ps
oder einem anderen Prozesslister ausspioniert werden. - Das Erstellen von Passwörtern, die schwer zu erraten und leicht zu merken sind, ist schwierig: Verwenden Sie daher keine Passwörter mit SSH.
Verwenden Sie stattdessen einen öffentlichen/privaten Schlüssel und einen Schlüsselagenten, um Ihren Schlüssel vorübergehend zu speichern.