ssh-copy-id auf MacOS X

Drizzo am 26. Mai 2010 um 13:17

Da der Befehl ssh-copy-id nicht MacOS X integriert ist, gibt es eine einfache Methode den eigenen SSH Publickey auf einem entfernten System ohne überschreiben der bisherigen Schlüssel zu hinterlegen:

cat ~/.ssh/id_dsa.pub | ssh username@aquarium.tu-stadt.de "cat - >> ~/.ssh/authorized_keys"

Fortan sollte die Publickey – Authentifikation funktionieren. Zu testen ist dies mittels:

ssh username@aquarium.tu-stadt.de

Domain per Konsole entsperren

Drizzo am 25. August 2009 um 18:04

Um eine Domain in Plesk zu entsperren, beispielsweise wenn fälschlicherweise nach einem Backupauftrag die Domain gesperrt bleibt, kann man mit folgendem Aufruf die Domain entsperren:

/usr/local/psa/bin/domain --on

Portforwarding mittels iptables

Drizzo am 13. August 2009 um 15:53

Es kommt vor, dass z.B. der Port 25 in einem Netzwerk gesperrt wird. Beispielsweise weil die Firma im Firmennetzwerk ausschliessen will, dass ein Virus oder Ähnliches Spam versendet.

Sollte man dann einen eigenen Server haben, kann man bequem Mails empfangen, doch das Versenden von E-Mail ist etwas schwierig, da der Port 25 geblockt wird.

Hier hilft Port-Forwarding z.B. mittels iptables.

iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-port 25

Nun sollte der Mailversandt weiterhin möglich sein.

Nützliche One-Liner

Drizzo am 30. März 2009 um 11:11

#Finde die größten Dateien auf der Festplatte
1, ls -lR | sort +4n
2. find /pfad -type f -printf ‘%s %p\n‘ | sort -n

#Finde alle Dateien die älter sind als 10 Tage und lösche sie
find . -mtime +10 -exec rm -r {} \;

#Finde alle aktiven SSH Schlüssel einer Maschine
for i in $( find /home/*/.ssh/authorized_keys ); do echo $i:; cat $i | awk -F= ‘{print $2}’ | grep -v ^$ ; done

#Selbsigniertes SSL Zertifikat erstellen
openssl genrsa -des3 -out pass.key 1024
openssl rsa -in pass.key -out server.key
openssl req -new -key server.key -x509 -out server.crt -days 999

# ersetze ä in HTML ä in allen Dateien des Verzeichnisses.
find . -type f -name “*.*” -exec perl -i -pe ’s/ä/ä/g’ {} \;;

# Große Dateien Suchen (>10 MB)
ls -lahS $(find / -type f -size +10240k);

# Dateien finden und löschen
find -name [DATEINAME] -exec rm ‘{}’;

# Superbloks eines ext2 oder ext3 Dateisystems finden
mkfs.ext2 -n /dev/[DEVICENAME]

# Startus eines Linux Raid herausfinden
mdadm -Q –scan /dev/md0

# details eines Linux Raid anzeigen
mdadm -Q –detail /dev/md0

http://sed.sourceforge.net/sed1line_de.html

http://books.google.de/books?id=4Z4wtF8I4F4C&pg=PA451&lpg=PA451&dq=nützliche+einzeiler&source=bl&ots=u5o8rnP9dO&sig=XaQfQ0GeWJwcqPjYB_JeonLuiuI&hl=de&sa=X&oi=book_result&resnum=1&ct=result#PPT1,M1

Rekursive Datei- und Verzeichnisrechte – Alternative

Drizzo am 9. Februar 2009 um 15:50

Für Verzeichnisse
find -type d | xargs chmod 755
Für Dateien
find -type f | xargs chmod 644

Bandbreite testen mittels ‘iperf’

Drizzo am 1. Februar 2009 um 15:21

Nicht selten vermutet man, dass eine Netzwerkkarte, der Treiber, ein Switch oder gar ein Netzwerkkabel nicht besonders zuverlässig läuft. Wieviel Banbreite tatsächlich nutzbar ist, um beispielsweise Daten zu übertragen könnte man mittels “iperf” ermitteln.

Unter Debian/Ubuntu gibt es hierzu das gleichnamige Paket “iperf”
[sudo] apt-get install iperf
Auf dem Server führt man aus:
iperf -s

Auf dem Client dient folgendes Kommando zum Connecten auf die IP des Servers:
iperf -fM -c 10.10.20.1

Beispielausgabe des Tools:

[ 4] local 192.168.0.1 port 5001 connected with 10.10.20.1 port 48349
[ 4] 0.0-10.0 sec 107 MBytes 89.4 Mbits/sec

In meiner Messung waren 89.4 Mbits/s nutzbar. Bei diesem Wert sollte man unbedingt beachten, dass ggf. noch ein Webserver, Mailserver oder andere Dienste laufen oder ggf. Zugriffe von oder auf einen der beiden Hosts stattfindet. Daher empfehle ich mehrere Messungen anzustreben und sich daraus einen Mittelwert zu bilden. Meiner Meinung nach sind knapp 90 Mbit/s durchaus akzeptabel wenn es sich um 2 Server im Internet handelt.

Bilder per ImageMagick verändern (mogrify)

Drizzo am 25. Januar 2009 um 20:47

Oft kommt es vor, dass man verschiedene Prozesse wie zum Beispiel das vergrößern oder verkleinern von Bildern auf viele Verzeichnisse oder Dateien anweden muss/möchte.

Dafür hilft die ‘imagemagick’ – Software-Suite besonders gut weiter. In der Zukunft werden sicher noch mehr Artikel zu dieser Suite hier erscheinen, aber besonders möchte ich heute das Erstellen von Thumbnails vorstellen.

Empfehlenswert ist es vor dem Ausführen der folgenden Zeile ein Backup der Bilddateien anzulegen, da so wie es hier steht, das Bild gleichzeitig “ersetzt” wird. Alternativ eventuell einfach den gesamten Inhalt in ein “thumbnail” – directory kopieren:

mkdir /pfad/bilder/thumbnails
cp -prd /pfad/bilder/ /pfad/bilder/thumbnails

Nun wechselt man das Vorschaubilder-Verzeichnis:
cd /pfad/bilder/thumbnails

Nun verändern wir die jpg-Bilder, so dass die maximale Breite 100 Pixel beträgt und die Proportionen beibehalten werden:
mogrify -resize 100 *.jpg

Sobald der Prompt wieder erscheint ist die Konvertierung abgeschlossen.

mysqld_safe Ubuntu Bug (100% CPU Usage)

Drizzo am 11. Januar 2009 um 20:23

Unter Ubuntu 8.04 LTS (nur da von mirgetestet) existiert offenbar ein Bug in dem der mysqld_safedauerhaft 100% Cpu benutzt. Folgende Version habe ich in Benutzung:
$ dpkg -l |grep mysql
mysql-server-5.0   5.0.51a-3ubuntu5.1
Behelfsmäßige Lösung funktioniert wie folgt:
vim /etc/init.d/mysql
In derStartdatei habe ich hinterfolgender Zeile:
ERR_LOGGER="logger -p daemon.err -t /etc/init.d/mysql -i"
diese Zeile eingefügt und damit den “logger” abgeschaltet.
ERR_LOGGER=""
Somit wird nach einem Restarten und Killen des Prozesses keine hohe Load mehr produziert.

/etc/init.d/mysql stop
killall -9 mysqld_safe
/etc/init.d/mysql start

Rekursive Datei- und Verzeichnisrechte

Drizzo am 17. Dezember 2008 um 12:38

Dateiberechtigungen für die im aktuellen Verzeichnis  (und aller Unterverzeichnisse) befindlichen Dateien ändern.
find ./ -type f -exec chmod 644 {} \;

Verzeichnisberechtigungen für das aktuelle Verzeichnis  (und aller Unterverzeichnisse) ändern.
find ./ -type d -exec chmod 755 {} \;

MySQL root-Passwort vergessen

Drizzo am 26. November 2008 um 12:14

Wenn man das MySQL root-Passwort vergessen hat. so gibt es mehrere Wege dieses wiederherzustellen. Dafür legt man sich eine Initialisierungsdatei an (hier recover.sql):

recover.sql – Inhalt
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NeuesPasswort');

Nun den MySQL-Service stoppen.
/etc/init.d/mysql stop

Die Inititalisierungsdatei beim Start einbinden und den Prozess wieder beenden.
mysqld_safe --init-file=~/recover.sql
[ctrl] und [c] drücken

MySQL-Service wieder starten.
/etc/init.d/mysql start

Die Datei ‘recover.sql’ kann im Anschluss gelöscht werden.

Voilá, das neue Passwort lautet ‘NeuesPasswort’.