~/.ssh/config ueberall

Vor einiger sehr langer Zeit habe ich mal ueber „Saving SSH options for specific host“ geschrieben. Fuer mich ist die ~/.ssh/config nicht mehr wegzudenken. Bloed ist natuerlich, wenn ich diese Datei auf meinem Rechner zuhause habe, aber auf der Arbeit etc. auch haben moechte. Auf jeden Rechner auf dem ich die Datei haben will raufkopieren, nach jedem Update ueberall neu. Ganz schoen bloed und nervig.

Viel schoener waere es fuer mich, die Datei an einem Ort zu haben, wo sie immer aktuell ist, wo ich immer rankomme, und von wo ich sie mir schnell ziehen kann. Was bietet sich da mehr an als mein Webserver?! Auf der bash ist ein „wget myServer.tld/myFile -O ~/.ssh/config“ sehr schnell geschrieben ;-)

Meine ~/.ssh/config passe ich hauptsaechlich zuhause auf meinem Rechner an. Von daher reicht fuer mich eine simple Moeglichkeit diese Datei schnell und unkompliziert von da auf meinen Webserver zu bekommen. Am besten automatisch, dass ich mich nicht drum kuemmern muss. Hier meine Loesung:

  1. Auf dem Webserver einen rsync-User angelegt und ihn der Gruppe „www-data“ hinzugefuegt, so dass er in meine htdocs schreiben darf , und in die Gruppe „ssh-allow“ hinzugefuegt, so dass er sich auch via SSH einloggen darf (in der /etc/ssh/sshd_config: AllowGroups ssh-allow)
    (adduser myRemoteRsyncUser && adduser myRemoteRsyncUser www-data && adduser myRemoteRsyncUser ssh-allow)
  2. Auf meinem Desktop-PC einen User angelegt und fuer diesen einen ssh-key generiert
    (adduser myLocalRsyncUser && su – myLocalRsyncUser && ssh-keygen -t dsa -f .ssh/myKey)
  3. Die myKey.pub auf dem Websever in die entsprechende authorized_keys gepackt
    (scp /home/myLocalRsyncUser/.ssh/myKey.pub myRemoteRsyncUser@myServer.tld: -> ssh myRemoteRsyncUser@myServer.tld -> cat myKey.pub >> ./ssh/authorized_keys )
  4. Auf meinem lokalen Rechner rsync Befehl zum kopieren der config beim herunterfahren des Rechners automatisch ausfuehren lassen
    (in der /etc/conf.d/local.stop [Gentoo] den Befehl su myLocalRsyncUser -c „rsync -avu -e ssh /path/to/.ssh/config myRemoteRsyncUser@myServer.tld:/var/www/myRemoteSSHConfigFilename“)

Voila. Beim runterfahren wird nun die Datei automatisch auf meinen Webserver kopiert falls sich diese geaendert hat :-) EEEENDLICH!!

Platten Putt – NSLU2 + extern HDD?!!

Vor ungefaehr 2 Wochen war auf einmal eine Festplatte mit 80GB nicht mehr ansprechbar. Ich konnte das Problem mit dem Austausch des IDE-Kabels beheben. Die Platte war kurze Zeit spaeter wieder nicht ansprechbar und liess sich auch nicht mehr zum ansprechen ueberreden. Jetzt ist mir auch noch eine zweite 80er Platte kaputt gegangen. Jaja, ich weiss, sie waren alt, und auch die letzten 5 Jahre im Dauereinsatz…

Dennoch ist es aergerlich fuer mich auf einen Schlag zwei Platten zu verlieren, die ich u.a. dafuer genutzt habe meine Backups drauf zu schieben.

Ich moechte eigentlich ungern wieder feste Platten in einen Rechner verbauen. Externe finde ich da irgendwie praktischer. Schon lange liebaeugel ich mehr oder weniger mit einem Linksys NSLU2 und bei den aktuellen Plattenpreisen… Ich stell mir das gerade vor mit z.B. zwei 500GB Platten von WD (zum Beispiel diese hier). Ich finde das Nett! Das sind mal schnell zusammengefasst 1TB Speicher verfuegbar im Netzwerk incl. eines sehr netten Geek-Toys fuer ~225EUR…

Bevor ich mir jedoch ernsthaft Gedanken ueber eine evtl. Finanzierung mache, moechte ich wissen, ob das Ding auch von der Hardwareleistung her vernuenftig Streamen kann. Interessant ist es ja fuer mich z.B. im Zusammenspiel mit meinem XBMC. Laut Aussagen in Foren (z.B. da) geht das… Noch weitere Stimmen?

bash-Befehle

Mal eben zum festhalten:

Einfache Schleife
for i in `ls` ; do echo $i ; done

In Dateien suchen und ersetzen
cat filename | sed ’s/suchen/ersetzen/g‘ > filename-new

Dateien umbenennen und hinten etwas wegnehmen
mv $i ${i%-new}