scp Befehl über crontab ohne Passwort-Abfrage und ohne RSA-Key Ordner verschieben

moby07

Lieutenant
Registriert
Sep. 2007
Beiträge
901
Hallo zusammen,

ich möchte gerne über eine VPN-Verbindung zwischen zwei Servern mittels scp Befehl über crontab automatisch Ordner verschieben, ohne die manuelle Passworteingabe. Das ganze soll jedoch ohne RSA-Key passieren - Root-Passwords sind mir bekannt.

Am besten wäre es natürlich, wenn das Passwort aus einer Datei geladen wird und automatisch eingefügt wird. Die Frage ist nur wie die Einbindung stattfinden kann.

Vielen Dank für jeden guten Vorschlag in voraus!

Gruß

moby07
 
Google ist ein Fremdwort? Bisschen Eigeninitiative du bist nicht der Erste der das versucht... Abgesehen fehlen Infos... Was für Distributionen, welche Voraussetzungen sind gegeben (feste IP etc....)
 
Also, bei so einer Frage kannst du dir sicher sein, dass ich google abgegrast habe...;) Wie dem auch sei, es geht um Linux Debian 7.01. Die IP's sind fest ohne dyndns über eine eigene WAN-Strecke.
 
Gibt es einen Grund, weshalb du nicht den Keyfile Weg wählst? Ist meiner Meinung nach in diesem Fall das cleverste.

Aber du kannst das z.B. mit "expect" machen (apt-get install expect), dann eben ein Script schreiben a la:

Code:
#!/usr/bin/expect
spawn bash -c "scp root@bla.de"
expect -re "Password:"
exp_send -- "geheim\r"
interact

Das \r bedeutet Return, also Enter, das muss bleiben. "Password:" ist das, auf das expect wartet, könnte auch "Bitte geben Sie ihr Passwort ein:" sein.
 
Zuletzt bearbeitet:
moby07 schrieb:
Am besten wäre es natürlich, wenn das Passwort aus einer Datei geladen wird und automatisch eingefügt wird. Die Frage ist nur wie die Einbindung stattfinden kann.

Also Zertifikate. Das suchst du.
 
Der beste Weg sind trotz allem Keyfiles, natürlich welche die nicht wiederum verschlüsselt wurden.... sonst geht sich's wieder nicht aus.
 
@andryyy
Der Grund ist hauptsächlich der Einfachheit halber. Gibt es nicht noch eine andere Möglichkeit als mit expect? Aus gewissen Gründen kann ich es nicht verwenden.

@e-Laurin
Das Passwort sollte in der Datei einfach einzufügen sein und im Befehl unterkommen bzw. einen Bezug haben. Die Logins sind zudem gleich bei beiden Servern, sofern diese Tatsache helfen könnte.
 
Nochmal: Genau dafür sind die Keyfiles da. Dann muss man seine Passwörter auch nicht unverschlüsselt irgendwo herumliegen lassen. Was spricht denn gegen Keyfiles?
 
moby07 schrieb:
ich möchte gerne über eine VPN-Verbindung zwischen zwei Servern mittels scp Befehl über crontab automatisch Ordner verschieben, ohne die manuelle Passworteingabe. Das ganze soll jedoch ohne RSA-Key passieren - Root-Passwords sind mir bekannt.
Dann nimm statt RSA- einfach DSA-Schlüssel. Alle heute üblichen ssh-Implementierungen sprechen ssh-2 und können mit beiden Varianten umgehen. Das Login dauert damit paar Millisekunden länger, sonst ändert sich nichts.

moby07 schrieb:
Die Logins sind zudem gleich bei beiden Servern, sofern diese Tatsache helfen könnte.
Falls beide Rechner sicherheitsmäßig sowieso die gleiche Suppe sind und auf dem Clientrechener der Nutzer "root" das crontab-Ding nutzt, kannst du host-based authentication nutzen: Name des Clients auf dem Server in die /etc/ssh/shosts.equiv eintragen, public key des Clients auf dem Server in die /etc/ssh/ssh_known_hosts eintragen. Fertig. Dann können sich aber (solange man nix zusätzlich einschränkt) alle Nutzer des Clients via ssh unter gleichem Namen auf dem Server anmelden, nicht nur root.
 
Zuletzt bearbeitet:
moby07 schrieb:
@andryyy
Der Grund ist hauptsächlich der Einfachheit halber. Gibt es nicht noch eine andere Möglichkeit als mit expect? Aus gewissen Gründen kann ich es nicht verwenden.

@e-Laurin
Das Passwort sollte in der Datei einfach einzufügen sein und im Befehl unterkommen bzw. einen Bezug haben. Die Logins sind zudem gleich bei beiden Servern, sofern diese Tatsache helfen könnte.

Passwörter im Klartext ablegen, SUPER ! Vermutlich dann auch noch eins vom root .....
Nimm das Keyfile und gut ist, sogar verschlüsselt.
 
kwai schrieb:
Passwörter im Klartext ablegen, SUPER ! Vermutlich dann auch noch eins vom root .....
Nimm das Keyfile und gut ist, sogar verschlüsselt.
Quark. Ist das Keyfile verschlüsselt, muß er beim Nutzen des Keys ein Passwort zum Entschlüsseln eingeben, womit er wieder am Anfang seines Problems steht, nur mit einer Indirektion mehr.

Er kommt nicht umhin, auf dem Client entweder ein Geheimnis zu lagern (unverschlüsselter private key oder Klartextpasswort) oder den Zugang zum Server einzig und allein aufgrund seines Logins auf dem Client zu erlauben. Auf irgendeiner Basis muß der Server ja entscheiden, ob er den ssh-Zugang erlaubt oder nicht.

Einen unverschlüsselten private key auf dem Client lagern ist die sich anbietende und schon mehrfach genannte Lösung. Warum der Threaderöffner dies nicht mag, konnte er bisher leider nicht darlegen.
 
Zuletzt bearbeitet:
Vielleicht geht auch

echo "password" | scp blabla

Wichtig ist natürlich in jedem Fall chmod 600/root. Ich meine ... wenn jemand dazu kommt die Datei zu lesen, hast du eh verloren. :D
 
Zuletzt bearbeitet:
Zurück
Oben