Heute wollen wir uns einen ssh Zugang zu unserem System verschaffen. Diesen können wir nutzen, um mit dem System zu arbeiten, ohne Tastatur und Monitor anschließen zu müssen. In einem gesicherten, lokalen Netzwerk wäre wahrscheinlich ein ungesicherter Zugang in Ordnung. Da ich aber das System später aus dem Internet erreichen will (z.B. Nextcloud), sichere ich es lieber ordentlich ab und nutze ssh mit einer Zertifikatauthentifizierung.
Folgende Anleitung setzt ein Linux Terminal am eigenen PC voraus. Windows 10 Nutzern empfehle ich dazu z.B. Ubuntu aus dem Microsoft Store zu installieren.
Wer noch kein ssh Zertifikat hat, kann das zunächst selbst erzeugen:
ssh-keygen -t ed25519 -a 100 -C "$(whoami)@$(uname -n)-$(date -I)"
Durch die Optionen wird dabei das moderne ed25519 Verfahren genutzt, das verwendete Password 100 mal durch die „key derivation function“ gejagt und mit einem Kommentar versehen, der den aktuellen Benutzernamen, Rechnernamen und Datum beinhaltet.
Damit ich mir nicht die IP des Systems merken oder ständig ssh root@virtomv4
eingeben muss, erstelle ich einen alias Eintrag in der ~/.ssh/config
Datei:
Host omv
HostName virtomv4
User root
Dadurch kann ich das System in allen ssh Befehlen (wie ssh selbst, aber auch scp oder rsync) unter dem Alias „omv“ erreichen. Alternativ kann statt dem hostname (hier virtomv4) auch die IP Adresse angegeben werden.
Als nächstes wird das ssh Zertifikat auf den openmediavault Rechner kopiert. Dies geschieht mittels ssh-copy-id omv
. Ab sofort kann ich mich mit ssh omv
mit dem System verbinden und beliebige Befehle ausführen.
Eigentlich ist damit die Einrichtung des ssh Zugangs abgeschlossen, ich möchte diesen aber noch etwas aufmotzen. Bei einer neuen ssh Verbindung möchte ich, dass automatisch byobu gestartet wird. Dieses Programm erleichtert es mir, ein zweites Terminal zu öffnen und die Verbindung zwischendurch zu trennen und später einfach wieder fortzusetzen. Zunächst muss byobu mittels apt install byobu
installiert und kann dann durch byobu-enable
aktiviert werden (die Fehlermeldung am Ende der Installation ignorieren wir zunächst). Beim nächsten login wird dann automatisch byobu statt der normalen shell gestartet. Um trotzdem die „motd“ zu sehen (diese „message of the day“ zeigt einige Systemparameter beim login an) füge ich noch ein paar Codezeilen der ~/.bashrc
Datei hinzu (Quelle: https://askubuntu.com/questions/473131/show-login-text-with-byobu)
if [ -z "$_motd_listed" ]; then
case "$TMUX_PANE" in
%1) cat /run/motd.dynamic
export _motd_listed=yes
;;
*) ;;
esac
fi
Zum Schluss wollen wir uns noch um den Fehlermeldung kümmern, die sonst am Ende jedes Installationsvorgangs angezeigt wird:
Exception ignored in: <function WeakValueDictionary.__init__.<locals>.remove at 0x7f262c7b07b8>
Traceback (most recent call last):
File "/usr/lib/python3.5/weakref.py", line 117, in remove
TypeError: 'NoneType' object is not callable
Dies können wir einfach durch Aufruf von (Quelle: https://forum.openmediavault.org/index.php?thread/19658-upgrade-debian-9-and-4-x/&postID=196631#post196631)
wget -O /usr/lib/python3.5/weakref.py https://raw.githubusercontent.com/python/cpython/9cd7e17640a49635d1c1f8c2989578a8fc2c1de6/Lib/weakref.py
beheben.
Im nächsten Beitrag werde ich dann den neuen ssh Zugang nutzen, um das omv-extras.org Plugin zu installieren. Dieses bringt weitere Plugins mit, die ich zum Teil installieren und einrichten werde.