Archiv der Kategorie: osbn

[Centos] Authentication refused: bad ownership or modes for file /home/Benutzer/.ssh/authorized_keys

Ssh-keys sind sehr hilfreich, wenn es darum geht sich ohne Kennwort auf einem anderen Linux System anzumelden. Mit Hilfe von ssh-keygen erstellt man einen privaten und einen öffentlichen Schlüssel. Den öffentlichen Schlüssel hinterlegt man auf dem anderen System in der Datei /home/Benutzer/.ssh/authorized_keys .

Ein Kollege hatte seinen öffentlichen Schlüssel auf einem CentOS System hinterlegt. Als er sich auf dem System anmelden wollte erhielt er unter anderem die Meldung:

Authentication refused: bad ownership or modes for file /home/Benutzer/.ssh/authorized_keys

Ich fand heraus das der Ordner .ssh und die Datei authorized_keys zu viele Rechte hatte, andere Benutzer durften Ordner und Datei einsehen.

Ein chmod 700 .ssh und chmod 600 authorized_keys lösten das Problem.

[Raspbmc] VDR Aufnahmen wieder geben

Hin und wieder nehme ich etwas mit dem Linuxvideorekorder auf. Zum ansehen hatte ich mich dann immer an den Rechner gesetzt auf dem auch der VDR lief. Damit ich die Aufnahmen auf meinem alten Mediapc ansehen konnte, musste die Aufnahmen mit projectx und avidemux bearbeiten.

Nun wollte ich wissen ob der Raspberry Pi in der Lage ist die Aufnahmen wieder zu geben. Hierfür habe ich auf dem VDR eine Samba-Freigabe eingerichtet, die ich in den Raspbmc einbinden konnte. Leider konnte der Raspbmc die ts Dateien zwar wiedergegeben, jedoch nur den Ton. Nach einer kurzen Suche fand ich heraus, das für das abspielen der ts Dateien eine mpeg2 Lizenz benötigt wird.

Die Lizenz kann über die Seite http://www.raspberrypi.com/mpeg-2-license-key/ gekauft werden, hierfür ist jedoch die Seriennummer der CPU erforderlich.

Um die zu ermitteln meldet sich man per ssh auf dem Raspberry Pi an.
ssh pi@"ip adresse"

Das Kennwort ist raspberry

Quelle: http://www.raspbmc.com/wiki/user/using-ssh/

Mit Hilfe von cat kann die Seriennummer ausgelesen werden:
cat /proc/cpuinfo
Processor : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 795.44
Features : swp half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7

Hardware : BCM2708
Revision : 000f
Serial : 00000000XXXXXXXX

In diesem Fall wird die Seriennummer 00000000XXXXXXXX für den Kauf der Lizenz benötigt.

Nach dem Kauf erhält man eine Email mit dem benötigtem Lizenzkey. Angeblich kann es ca 72 Stunden dauern kann bis die Lizenz eintrifft, bei mir dauerte es ca 3 Stunden.

Um den Codec zu aktivieren wird der Lizenzkey in der Datei /boot/config.txt wie folgt hinterlegt:
decode_MPG2="Lizenzkey"

Nach einem Neustart des Raspberry Pi´s können mpeg2 Dateien abgespielt werden.

[Centos] neue virtuelle Festplatte ohne Neustart einlesen

Bei virtuellen Maschinen lässt sich im laufenden Betrieb eine weitere Festplatte hinzufügen. Damit dass Betriebssystem, in diesem Fall centos, die Festplatte erkennt ist kein Neustart erforderlich. Ein einfacher rescan reicht dafür aus.

echo "- - -" > /sys/class/scsi_host/host#/scan

# steht für den SCSI Controller zum Beispiel 0 1 2

Im Anschluss kann die Festplatte in centos eingebunden werden.

[Raspberry Pi] fhem installation und erste Steckdose

Da es ein wenig mühsam ist die Steckdosen immer per Script zu schalten, habe ich mir fhem installiert.
Als erstes die aktuelle Version herunterladen wget http://fhem.de/fhem-5.3.deb und installieren dpkg -i fhem-5.3.deb.
Zuvor musste ich noch ein paar Pakete installieren:
apt-get install perl libdevice-serialport-perl
apt-get install libio-socket-ssl-perl

Nach der Installation liegt das fhem unter /opt und läuft unter dem Benutzer fhem. Erreichbar ist die Weboberfläche über die URL http://ip adresse:8083/fhem für den normalen Rechner.
Für Smartphone gibt es eine angepasste Ansicht unter http://ip adresse:8084/fhem und die URL http://ip adresse:8085/fhem ist für Tablets.

Die erste Steckdose

In der /opt/fhem/fhem.cfg habe ich als erstes einen Schalter angelegt.

define Licht_Telefon dummy
legt den Schalter an
attr Licht_Telefon eventMap on:an off:aus
ändert die Beschriftung der Schaltfläche von on zu an
attr Licht_Telefon room Flur
weißt den Schalter dem Raum Flur zu

Das Python Script, welches die eigentliche Steckdose schaltet, wird über folgenden Codeschnipsel angesprochen:

define NLicht_Telefon notify Licht_Telefon { \
if ("%" ne "aus") {\
system "/fhem/flur.py 1 1&";;\
}\
else {\
system "/fhem/flur.py 1 0&";;\
}\
Log 1, "notify wird ausgeführt mit @ %";;\
}

Der Ordner und das Script gehören dem Benutzer fhem.

Damit der fhem Benutzer das Script ausführen kann, muss in der /etc/rc.local vor exit 0 folgendes hinterlegt werden:
sudo -u fhem /usr/local/bin/gpio export 17 out

Nach einem Server neustart kann die Steckdose über die Weboberfläche geschaltet werden.

fhem

Danke Henning für deine Konfiguration.

[Raspberry Pi] erster Schritt zur Hausautomation

Genial was alles mit dem Raspberry Pi möglich ist. Ursprünglich wollte ich mit dem FHEM Steckdosen aus der FS20 Reihe schalten, es geht jedoch auch einfacher bzw günstiger.

Hierfür kauft man sich einen kleinen 433 MHz Sender, der kann hier bestellt werden.

Um den Sender mit dem Raspberry Pi zu verbinden, habe ich Kabel aus einem altem PC Gehäuse genommen. Die Stecker die normalerweise z.B. den Resetschalter mit dem Mainboard verbinden, passen ebenfalls auf die Pins des Raspberry Pi. Ansonsten kann auch ein Floppykabel verwendet werden und als letzte Möglichkeit könnte man die Kabel direkt anlöten.

Die Anschlüsse des Senders sind ANT, VCC, DATA, GND. Als Antenne habe ich ein Kabel von 17 cm länge verwendet. An die anderen Anschlüsse habe ich die zuvor erwähnten Kabel aus dem PC Gehäuse gelötet.

Der Sender wird mit folgenden Pins verbunden:
ANT 17cm langes Kabel (grün)
VCC => Pin 2 5 V (rot)
DATA => Pin 11 GPIO 17 (weiß)
GND => Pin 6 GND (schwarz)

433 MHz Sender

433 MHz Sender


Eine Übersicht der Ports gibt es hier:http://wiki.laub-home.de/wiki/Raspberry_Pi_Sensoren_auslesen

Bevor alles weitere per git heruntergeladen und kompiliert werden kann, müssen ein Programme nachinstalliert werden.
apt-get update
apt-get install git gcc python-dev python-setuptools

Unter Raspbmc musste ich zusätzlich noch make installieren.

Dann müssen folgende Kommandos unter dem Benutzer root ausgeführt werden:

cd /usr/local/src
apt-get install git-core
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

git clone https://github.com/WiringPi/WiringPi-Python.git
cd WiringPi-Python
git submodule update --init
python setup.py install

Beim clone unter raspbmc von https://github.com habe ich folgende Fehlermeldung erhalten:

Cloning into 'WiringPi-Python'...
error: Problem with the SSL CA cert (path? access rights?) while accessing https://github.com/WiringPi/WiringPi-Python.git/info/refs
fatal: HTTP request failed

Das Problem konnte ich mit Hilfe von git config --global http.sslVerify false lösen.

Damit der pi Benutzer auf die GPIO17 zugreifen darf, müssen noch Rechte in der /etc/rc.local angepasst werden. Vor der Zeile exit 0 habe ich sudo -u pi /usr/local/bin/gpio export 17 out hinzugefügt und den Raspberry Pi neugestartet.

Als nächstes habe ich den Code für elro_wiringpi.py hier kopiert und in einer Datei gespeichert. Seinen Hauscode gibt man in der Zeile 96 an.

Dann ein chmod 755 elro_wiringpi.py und mit elro_wiringpi.py nummer ein/aus können die Funksteckdosen geschaltet werden.
Nummer = A=1 B=2 C=4 D=8 E=16
ein = 1
aus = 0

Ausprobiert habe ich es bislang mit den Funksteckdosen von Elro und Brennenstuhl.

Als ich das Script das erste Mal ausführen wollten, brach das Script mit einem Fehler ab.
./elro_writing.py 1 0
File "./elro_writing.py", line 36
import time
^
IndentationError: unexpected indent

Das Problem war, das beim kopieren des Codes in eine mit vi geöffnete Datei sich Leerzeichen und Tabs eingeschlichen hatten. Python ist an dieser Stelle sehr empfindlich.

Ich hatte das ganze ursprünglich unter Raspbmc ausprobiert. Als ich mit dem „rumspielen“ fertig war startete das xbmc nicht mehr, ob es einen Zusammenhang gibt kann ich nicht sagen. Jetzt habe mir jetzt eine zweite SD Karte zugelegt und auf dieser wheezy installiert und darüber schalte ich nun die Funksteckdosen. Als nächstes werde ich das ganze unter FHEM einbinden.