Rechner mit dynamischer IP identifizieren

Backup, Restore und Transfer von Daten
Post Reply
yhirmikq
Posts: 11
Joined: 2003-01-25 14:37
 

Rechner mit dynamischer IP identifizieren

Post by yhirmikq »

Hallo,
ich habe noch ein Problem. Ich habe eine backuplösung implementiert, die meinen Rootserver sichert. Jetzt muss ich nur die Backups verschieben und zwar auf meinen Arbeitsplatzrechner zu Hause. Das Problem ist der hat eine dynamische IP, der Host wird über dynIP aufgelöst das klappt alles ganz gut.

Ich würde gerne rsync verwenden, auch das habe ich korrekt konfiguriert und es klappt. Das Problem ist, dass ich das ganze verschieben der Dateien gerne automatisieren würde das Problem ist nun folgendes:

Ich mache ein Shellscript und teste ob der Rechner erreichbar ist (mit Ping ist simpel), dann könnte ich ja mit rsync beginnen. Was aber wenn die IP (T-Online Einwahlpool) inzwischen ein anderer bekommen hat, der Server versucht dem dann die Daten zu schicken. Das will ich vermeiden, oder ist das unbedenklich?

Besser wäre ein loginversuch mit ssh und public key, den kann keiner fälschen. Auch das habe ich am laufen, das Problem das ich noch lösen müsste ist, dass ich zwar einen erfolgreichen Login bekommen wenn mein Server Online ist und die Daten auch korrekt synchronisiert werden, wenn aber jemand anders gerade die IP benutzt, dann schlägt publickey fehl und ich kriege eine Paßwortanforderung, das ist für einen cron.jab natürlich absolut tödlich.

Irgendwelche Vorschläge? Ich poste euch als Belohnung dann auch das fertige Script, wenn jemand Interesse daran hat.

Gruß Sebastian
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Rechner mit dynamischer IP identifizieren

Post by captaincrunch »

Ich mache ein Shellscript und teste ob der Rechner erreichbar ist (mit Ping ist simpel), dann könnte ich ja mit rsync beginnen. Was aber wenn die IP (T-Online Einwahlpool) inzwischen ein anderer bekommen hat, der Server versucht dem dann die Daten zu schicken. Das will ich vermeiden, oder ist das unbedenklich?
Wenn auf der Kiste kein rsync-Server läuft, ist das ganze ohenhin geschwätzt, da erst gar keine Verbindung zustande kommt. rsync würde ich an deiner Stelle (und ich bastle auch gerade an einer solechen Lösung) ohnhin nur per SSH laufen lassen, und alleine dadurch brauchst du ja schon PubKeys.
In dem Fall also einfach den Exitcode vom rsync auswerten und gut ist ... ;)

Btw. : Da die Sache eher mit Datentransfer und Backup zu tun hat, schiebe ich's mal dahin.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
yhirmikq
Posts: 11
Joined: 2003-01-25 14:37
 

Re: Rechner mit dynamischer IP identifizieren

Post by yhirmikq »

Gib mir einen kleinen Tipp: wie kann ich rsync mit ssh laufen lassen? Bei mir wird der --shell /bin/ssh Schalter nämlich ignoriert!

Ich habe jetzt eine Lösung gefunden, die Passwortfrage baim ssh zu deaktivieren, dann kann ich meinen Ansatz jetzt umsetzen. Im Prinzip läuft es so ab:

Ich mache eine ssh Verbindung mit public key, passwort ist deaktiviert. Wenn das klappt starte ich rsync.

Wenn nicht mache ich gar nix.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Rechner mit dynamischer IP identifizieren

Post by captaincrunch »

Ich hatte mir für mein "Projekt" eher den umgekehrten Weg vorgestellt. Kurz umrissen :
- der Rechner @home und der Rootie werden per NTP zeitmäßig abgeglichen
- um Punkt X Uhr wird per Cronjob auf dem Rootie der rsync-Daemon hochgefahren
- eine halbe Minute später startet der Rechner @home den Abgleich per rsync
- sobald rsync durch ist, fährst du den rsync-Daemon per SSH in Verbindung mit PubKeys wieder runter

So erspart man sich die Sache mit der dynamischen IP.

Jetzt mal kurz zur Frage :
Bei mir wird der --shell /bin/ssh Schalter nämlich ignoriert!
Ich kenne nur die "RSYNC_RSH"-Umgebungsvariable, oder die "-e" (bzw. die "--rsh=COMMAND)-Variante ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
yhirmikq
Posts: 11
Joined: 2003-01-25 14:37
 

Re: Rechner mit dynamischer IP identifizieren

Post by yhirmikq »

Deine Idee ist auch nicht schlecht, für mich ist aber meine Idee einfacher, vor allem wenn ich rsync mit ssh zum Laufen kriegen könnte.

Wenn ich -e ssh anhänge (oder --rsh, das mit --shell war ein Fehler von mir), dann kriege ich das hier:

WARNING: --rsh or -e option ignored when connecting to rsync daemon

Irgendeine Idee?

P.S.: Noch was: wenn du den rsync daemon mit ssh runterfährst, warum machst du dir dann nicht gleich ein Skript nach dem Muster:

cron @ home startet Skript:

skript geht per ssh auf den rootie und startet rsync, mit angegebener IP, die das Skript ja kennt. Das wäre doch ideal, vor allem wenn ich rsync recht verstanden habe nimmt es dann die bestehende ssh verbindung her, oder?
Last edited by yhirmikq on 2003-05-05 12:03, edited 1 time in total.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Rechner mit dynamischer IP identifizieren

Post by captaincrunch »

Wenn ich -e ssh anhänge (oder --rsh, das mit --shell war ein Fehler von mir), dann kriege ich das hier:
Du musst dabei den kompletten Pfad zum ssh-Binary (normalerweise /usr/bin/ssh) angeben.

Falls das nicht klappt, ist deine rsync-Version wohl ohne SSH-Support kompiliert worden (aus welchem Grund auch immer).
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
yhirmikq
Posts: 11
Joined: 2003-01-25 14:37
 

Re: Rechner mit dynamischer IP identifizieren

Post by yhirmikq »

Du musst dabei den kompletten Pfad zum ssh-Binary (normalerweise /usr/bin/ssh) angeben.

Falls das nicht klappt, ist deine rsync-Version wohl ohne SSH-Support kompiliert worden (aus welchem Grund auch immer).
Das habe ich ja, aber er sagt ja er ignoriert den Schalter --rsh, klappt das bei dir?
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Rechner mit dynamischer IP identifizieren

Post by captaincrunch »

Das habe ich ja, aber er sagt ja er ignoriert den Schalter --rsh, klappt das bei dir?
So weit bin ich ehrlich gesagt noch gar nicht ... ;)

Daher aus Interesse : welche Distri verwendest du ?

Ein Punkt, den du noch probieren könntest wäre, im Script die Umgebungsvariable

Code: Select all

export RSYNC_RSH=/usr/bin/ssh
zu setzen. Wenn das nicht hilft, würde ich an deiner Stelle rsync händisch inkl. ssh-Support kompilieren ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe
Contact:
 

Re: Rechner mit dynamischer IP identifizieren

Post by dodolin »

WARNING: --rsh or -e option ignored when connecting to rsync daemon
Du verwendest wohl eine falsche Syntax. Wenn du es per SSH machst, dann verwendest du ja gerade *keinen* rsync Dämon. Nochmal in deutlich: Dann wird *kein* rsync Dämon benötigt. Weil ganz einfach das Binary rsync auf dem Zielrechner aufgerufen wird. Beispiele gab es hier:

http://www.linux-user.de/ausgabe/2001/0 ... rgirl.html
yhirmikq
Posts: 11
Joined: 2003-01-25 14:37
 

Re: Rechner mit dynamischer IP identifizieren

Post by yhirmikq »

Danke für die Hilfe, ich habe jetzt die für mich perfekt Lösung gefunden, ein cron job auf meinen Homerechner, ruft jetzt folgenden Befehl auf:
ssh user@host rsync --verbose --stats --compress -e /usr/bin/ssh --recursive --times --perms --links --delete /dir/to/backup/* userHome@HostHome:backupDir
Das funktioniert einwandfrei und ich schicke auch keine Requests an irgendwelche ahnungslosen T-Online Server und suche meinen Rechner. Das ist wohl besser so!

PS: an CaptainCrunch, das Posting von dodolin ist auch für dich interessant, du brauchst keinen Daemon, das war das Problem mit ssh. Du kannst es genauso einfach machen wie ich. Der Daemon benutzt kein ssh!

Gruß Sebastian
Post Reply