Posts tagged server

Byobu – Funktionstasten ohne Funktion in Kombination mit Putty

Wer Byobu auf seinem System verwendet und die Verbindung mit Putty aufbaut wird feststellen das die Funktionstasten (wie F2, F3 und F6) nicht funktionieren. Dieses Problem wird dadurch verursacht, dass die Sequenzen für die Funktionstasten von Putty nicht so schickt wie sie von Byobu erwartet werden. Dies kann jedoch leicht in Putty behoben werden.

Einfach die Session laden und unter dem Menüpunkt Connection -> Data den Wert für Terminal-type string in „putty-256color“ ändern.
Dann sie Session wieder abspeichern und wie gewohnt verwenden. Nun funktionieren auch alle Funktionstasten wie gewohnt.

Sollte es dann immer noch nicht gehen, kann möglicherweise noch ncurses-term installiert werden.

sudo apt-get install ncurses-term

Alternativ kann auch Xterm R6 unter dem Keyboard Bereich ausgewählt werden.
Menüpunkt Terminal -> Keyboard Xterm R6 in der Function keys and keypad section auswählen.

Raspbian installieren und einrichten

Wer seinen Raspberry neu installieren will hier der Einstieg:

Nachdem ihr das System zum ersten mal gestartet habt auf die Shell via SSH einloggen.
Username: piPasswort: raspberry

Nun führt ihr folgenden Befehl aus:

sudo /usr/bin/raspi-config

Als erstes wählt ihr den Punkt Expand Filesystem aus, damit Raspbian den kompletten Speicherplatz auf der SD-Karte nutzt. Nach kurzer Zeit wird die Erweiterung bestätigt. Das Laufwerk wird aber erst beim nächsten Bootvorgang erweitert. Das kann einige Zeit in Anspruch nehmen. Während der Zeit reagiert der Raspberry oft nicht.

Nun wählt ihr im Menü Internationalisation Options >> Change Locale aus. Mit der Leertaste aktiviert ihr:
de_DE.UTF-8 UTF-8
en_GB.UTF-8 UTF-8
Wer mehr Sprachen benötigt, kann diese auch noch aktivieren.Dann drückt ihr TAB und bestätigt mit Enter.

Im Folgenden frägt das System, wie die korrekte Ausgabe von anderssprachigen Anwendungen gewährleistet werden soll. Dort wählt ihr en_GB.UTF-8 zur systemweiten Sprache und bestätigt dies mit Enter.

Nun wählt ihr im Menü Internationalisation Options >> Change Timezone aus. Hier gibt ihr eure Zeitzone an in der ihr euch befindet.

Als letzten Punkt in dem Menü Internationalisation Options >> Change Keyboard Layout auswählen und mit Enter bestätigen.

Unter dem Menüpunkt Advanced Options >> Hostname könnt ihr noch einen Namen für euren Raspberry vergeben.

Nun im Hauptmenü Finish auswählen und mit Enter bestätigen. Das System fragt euch nun ob es neu starten soll, was ihr bestätigen solltet. Nach einiger Zeit ist das System wieder online, was einige Zeit in Anspruch nehmen kann. Nun könnt ihr euch wieder via SSH anmelden. Auf der Console gibt ihr dann folgendes ein:

 sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y
 sudo apt-get autoremove -y

Rasbian – FM: insserv: warning: script ‚mathkernel‘ missing LSB tags and overrides

Wer während der Installation von Rasbian die Fehlermedung

insserv: warning: script 'mathkernel' missing LSB tags and overrides

bekommt kann das Problem auf zwei Wege lösen.

1. Deinstallation von Mathematica von WolframAlpha wer es nicht braucht:

sudo apt-get remove wolfram-engine

2. Beheben des Problems:

Der Fehler sagt, das  im Script  /etc/init.d/mathkernel die LSB Tags fehlen, anhand derer bei der Installation die Startreihenfolge ermittelt wird.
Das ist leicht durch ergänzen der Tags zu beheben:

sudo nano /etc/init.d/mathkernel

unter
#!/bin/sh

folgendes ergänzen:

### BEGIN INIT INFO
 # Provides:          mathkernel
 # Required-Start:    $local_fs 
 # Required-Stop:     $local_fs
 # Default-Start:     2 3 4 5
 # Default-Stop:      0 1 6
 # Short-Description: mathkernel
 ### END INIT INFO

Egal wofür ihr euch entscheiden habt das Problem ist nun beseitigt.

Papierumschlag als Gehäuse für den Raspberry

Wer schnell mal ein Gebäuse für seinen Raspberry benötigt dem kann geholfen werden.
Ein günstiges Gehäuse für die Platine lässt sich mit dieser Vorlage erstellen.
Auf einem A4 Blatt ausdrucken, schneiden, falten, kleben, falten und schon ist das Gehäuse fertig.

SSH – Dynamisches MOTD

Die MOTD ist eine gute Möglichkeit um Nachrichten an die Benutzer eine System zu übermitteln, aber es hat auch seine Grenzen.Wenn ich mich auf meinem System einlogge will ich sehen wie es ihm so geht. Diese dynamische Informationen werden bei jedem Login generiert.
Hierfür habe ich mir ein kleines Shell Script gebastelt und verwende es statt der motd.

Als erstes stellen wir uns mal ein Shell Script

sudo nano /usr/local/bin/motddyn

mit dem Inhalt.

#!/bin/bash
let upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)"
let secs=$((${upSeconds}%60))
let mins=$((${upSeconds}/60%60))
let hours=$((${upSeconds}/3600%24))
let days=$((${upSeconds}/86400))
UPTIME=`printf "%d days, %02dh %02dm %02ds" "$days" "$hours" "$mins" "$secs"`

# get the load averages
read one five fifteen rest < /proc/loadavg

echo "$(tput setaf 2)
   .~~.   .~~.    `date +"%A, %e %B %Y, %R"`
  '. \ ' ' / .'   `uname -srmo`$(tput setaf 1)
   .~ .~~~..~.
  : .~.'~'.~. :   Uptime.......: ${UPTIME}
 ~ (   ) (   ) ~  Memory.......: `cat /proc/meminfo | grep MemFree | awk {'print $2'}`kB (Free) / `cat /proc/meminfo | grep MemTotal | awk {'print $2'}`kB (Total)
( : '~'.~.'~' : ) Load Averages: ${one}, ${five}, ${fifteen} (1, 5, 15 min)
 ~ .~ (   ) ~. ~  Processes....: `ps ax | wc -l | tr -d ' '`
  (  : '~' :  )   IP Addresses.: `/sbin/ifconfig eth0 | /bin/grep 'inet addr' | /usr/bin/cut -d ':' -f 2 | /usr/bin/cut -d ' ' -f 1` and external `wget -q -O - http://icanhazip.com/ | tail`
   '~ .~~~. ~'    Temperature..: `/opt/vc/bin/vcgencmd measure_temp | cut -c "6-9"` °C
       '~'        SSH Logins...: `who -q | tail -n 1 | cut -d= -f2` user(s) (`who -q | head -n 1`) logged in.
                  Username.....: `whoami` from `who am i | awk '{ print substr($0, index($0,$5)) }' | sed 's/[()]//g'`
                  Last login...: `lastlog -u $USER | tail -n 1 | tr -s ' ' | cut -d ' ' -f 4-9` from `lastlog -u $USER | tail -n 1 | tr -s ' ' | cut -d ' ' -f 3`
                  Disk usage...: `/usr/bin/du -ms $HOME | /usr/bin/cut -f 1` MB in `/usr/bin/du -ms $HOME | /usr/bin/cut -f 2`
$(tput sgr0)"

Anschließend nano mit dem Tastenkürzel “STRG + X” für Windows oder “CTRL + X” für Mac beenden und ein “y” für yes, damit das bisherige Skript überschrieben werden kann.
Nun machen wir es noch ausführbar:

chmod +x /usr/local/bin/motddyn

Starten wir das Skript mal und schauen uns an ob die Ausgabe stimmt.

/usr/local/bin/motddyn
   .~~.   .~~.    Tuesday, 27 August 2013, 20:28
  '. \ ' ' / .'   Linux 3.6.11+ armv6l GNU/Linux
   .~ .~~~..~.
  : .~.'~'.~. :   Uptime.......: 24 days, 20h 07m 06s
 ~ (   ) (   ) ~  Memory.......: 37312kB (Free) / 448776kB (Total)
( : '~'.~.'~' : ) Load Averages: 0.19, 0.11, 0.08 (1, 5, 15 min)
 ~ .~ (   ) ~. ~  Processes....: 89
  (  : '~' :  )   IP Addresses.: xxx.xxx.xxx.xxx and external xxx.xxx.xxx.xxx
   '~ .~~~. ~'    Temperature..: 50.8 °C
       '~'        SSH Logins...: 2 user(s) (user pi) logged in.
                  Username.....: pi from xxx.xxx.xxx.xxx
                  Last login...: Tue Aug 27 14:28:26 +0200 2013 from xxx.xxx.xxx.xxx
                  Disk usage...: 26 MB in /home/pi

So weit so gut. Sieht doch schon mal ganz gut aus. Nun bauen wir es noch so ein, damit es bei jedem login automatisch gestartet wird.
Hierfür muß die Datei /etc/profile bearbeitet werden.

sudo nano /etc/profile

An das Ende der Datei gehen und folgende Zeile einfügen.

/usr/local/bin/motddyn

Anschließend nano mit dem Tastenkürzel “STRG + X” für Windows oder “CTRL + X” für Mac beenden und ein “y” für yes, damit das bisherige Skript überschrieben werden kann.

Lasst die aktuelle Verbindung offen und öffnet eine neue SSH Session, loggt euch ein und schaut euch das Ergebnis an.

Wer den MOTD Teil unter /etc/motd nicht mehr benötigt, kann die Datei ja wieder sauber machen oder motd kompplett abschalten.
Hierfür die SSH config öffnen

sudo nano /etc/ssh/sshd_config

und den PrintMotd Teil suchen und mit einem no versehen:

PrintMotd no

Anschließend nano mit dem Tastenkürzel “STRG + X” für Windows oder “CTRL + X” für Mac beenden und ein “y” für yes, damit das bisherige Skript überschrieben werden kann.

Danach noch den SSH Server neu starten.

sudo /etc/init.d/ssh restart

Mit SSH neu verbinden und das Ergebnis bewundern.

 

Wer es einfacher möchte, kann das screenfetch verwenden.

SSH Starttext ändern

Ihr wollt den SSH Starttext ändern? Nichts einfacher als das. Hierzu gibt es zwei Möglichkeiten.

  1. issue.net: Zeigt einen Text beim Login noch vor der Passworteingabe an.
  2. motd : Zeigt einen Text nach dem erfolgreichen Login an.

issue.net – Banner vor der Passworteingabe

Loggt euch per SSH auf euren System ein und öffnet die Datei issue.net.

sudo nano /etc/issue.net

Fügt euren Text ein. Das kann wie folgt aussehen.

__        __   _                          
\ \      / /__| | ___ ___  _ __ ___   ___ 
 \ \ /\ / / _ \ |/ __/ _ \| '_ ` _ \ / _ \
  \ V  V /  __/ | (_| (_) | | | | | |  __/
   \_/\_/ \___|_|\___\___/|_| |_| |_|\___|

All connections are monitored and recorded.
Disconnect IMMEDIATELY if you are not an authorized user!

Anschließend nano mit dem Tastenkürzel “STRG + X” für Windows oder “CTRL + X” für Mac beenden und ein “y” für yes, damit die bisherige config überschrieben werden kann.

Dann die SSH config öffnen

sudo nano /etc/ssh/sshd_config

und den Banner Teil suchen, welcher immer etwas anders aussehen kann. Hier einige Beispiele:

#Banner /etc/issue.net
Banner /etc/issue.net
#Banner /some/path

Mit „#“ wird der Eintrag auskommentiert und somit vom SSH Server nicht verarbeitet. Die Zeile sollte wie folgt aussehen.

Banner /etc/issue.net

Anschließend nano mit dem Tastenkürzel “STRG + X” für Windows oder “CTRL + X” für Mac beenden und ein “y” für yes, damit die bisherige config überschrieben werden kann.
Danach noch den SSH Server neu starten.

sudo /etc/init.d/ssh restart

Die aktuelle Verbindung wird durch den restart nicht getrennt.
Lasst die aktuelle Verbindung offen und öffnet eine neue SSH Session und schaut euch das Ergebnis an.

motd – Banner nach dem erfolgreichem Login

Loggt euch per SSH auf euren System ein und öffnet die Datei motd.

sudo nano /etc/motd

Löscht was ihr nicht mehr haben wollt und fügt euren gewünschten Text oder ASCII-Bildchen ein. Anschließend nano mit dem Tastenkürzel “STRG + X” für Windows oder “CTRL + X” für Mac beenden und ein “y” für yes, damit die bisherige config überschrieben werden kann.

Lasst die aktuelle Verbindung offen und öffnet eine neue SSH Session, loggt euch ein und schaut euch das Ergebnis an.

SSH Port ändern

Der SSH Server auf dem Standartport ist gut, aber manchmal will man einen weiteren Port verwenden.
Loggt euch per SSH auf euren System ein und öffnet die SSH config mittels

sudo nano /etc/ssh/sshd_config

Anschließend sucht ihr euch die Zeile mit folgenden Inhalt

Port 22

Nun könnt ihr den Port von 22 auf was auch immer ändern oder einen weiteren Port hinzufügen. Der Port darf nicht größer als 65535 sein.
In dem Beispiel wird noch auf dem Port 10022 gelauscht.

Port 22
Port 10022

Anschließend nano mit dem Tastenkürzel „STRG + X“ für Windows oder „CTRL + X“ für Mac beenden und ein „y“ für yes, damit die bisherige config überschrieben werden kann.
Danach noch den SSH Server neu starten und ihr könnt euch über den neuen Port verbinden.

sudo /etc/init.d/ssh restart

Die aktuelle Verbindung wird durch den restart nicht getrennt.
Lasst die aktuelle Verbindung offen und öffnet eine neue SSH Session auf den neuen Port mit der ihr eure Änderung testet.
Wenn ihr euch nun erfolgreich einloggen könnt, habt ihr alles richtig gemacht.