ZeroShell admin login mit SSH Public Key Authentifizierung


Auf meiner ZeroShell Box möchte ich mich ohne Passwort mit SSH einloggen können. (SSH über: SYSTEM → Setup → SSH, aktivieren.)
Zusätzlich wird es auch möglich sein externe Skripte von einem anderen Server aus auszuführen. (Hier ist das vorgeschaltete Menü noch im Weg.)

Auf dem Client wird der SSH Schlüssel erstellt.

nagios@monit# ssh-keygen -t rsa

Per SSH auf der ZeroShell einloggen und im Menü mit S auf die Shell.

nagios@monit# ssh admin@zeroshell-ip

Temporär das Menü deaktivieren. (Hält bis zum nächsten reboot.)

root@zeroshell# /usr/bin/chsh -s /bin/bash admin

In einem dauerhaften Speicherort legen wir zuerst das .ssh Verzeichnis an.

root@zeroshell# mkdir /Database/.ssh

Vom Client aus erstellen wir die authorized_keys auf der ZeroShell mit den Inhalt unseres erstellten id_rsa.pub Schlüssels.

nagios@monit# cat ~/.ssh/id_rsa.pub | ssh admin@zeroshell-ip 'cat >> /Database/.ssh/authorized_keys'

In ZeroShell öffnen wir den Script Editor. (SYSTEM → Setup → Scripts/Cron) Wählen als Post Boot script Post Boot aus.

Folgenden Code einfügen:

##
# disable menu, and enable bash shell
##
/usr/bin/chsh -s /bin/bash admin
/usr/bin/chsh -s /bin/bash root

##
# install SSH public key (create the remote key with: ssh-keygen -t rsa)
##
DOTSSH=/Database/.ssh
if [ -d ${DOTSSH} ]; then
    if [ ! -d /root/.ssh ]; then mkdir /root/.ssh; fi
    chmod 700 /root/.ssh
    cp ${DOTSSH}/* /root/.ssh
    chmod 0600 /root/.ssh/*
fi

Aktivieren und speichern nicht vergessen.

Die ZeroShell rebooten. Das Post Boot script wird nach jedem reboot ausgeführt. Wir testen jetzt ob auch alles funktioniert hat.

nagios@monit# ssh admin@zeroshell-ip uname -a
Linux zeroshell.example.com 4.9.36-ZS #1 SMP Thu Jul 6 17:37:23 CEST 2017 i686 GenuineIntel unknown GNU/Linux
 
nagios@monit# ssh admin@zeroshell-ip
root@zeroshell ~>

Sollte man das Menü doch einmal benötigen, kann es manuell aufgerufen werden.

root@zeroshell# /root/kerbynet.cgi/scripts/localman

Danke für die howto von Toni.

Schreibe einen Kommentar