Skip to main content

[[::SSH mit public-key authentication auf HP ProCurve-Switches::]]

SSH mit public-key Authentication auf HP ProCurve Switches

Ihr kennt das sicher: Zum anmelden an einem Linux-System benutzt man SSH. Und am bequemsten ist es, wenn man sich per public-key authentifiziert. Das spart die ständige Passworteintipperei.

Leider ist das ganze auf einem HP ProCurve-Switch, der ja auch am besten über die Konsole administriert wird nicht ganz so leicht.

Die ständige Passworteingeberei hat mich heute so genervt, dass ich mich damit befasst habe, wie man sich auch an einem HP ProCurve mit SSH und public-key authentifiziert.

Nach einem einfach ‘ip ssh’ läuft SSH erst mal. Doch das war’s noch lange nicht. Jetzt muss der öffentliche Schlüssel noch auf den Switch.

Dazu gibt es im Netz viele Anleitungen, die bei mir leider alle nicht funktioniert haben. Letztendlich habe ich den ausschlaggebenden Tipp dann doch im ProCurve Security-Handbuch von HP gefunden.

Hier deshalb die Zusammenfassung.

Einen Schlüsselpaar ist schnell erzeugt, falls ihr noch keinen habt:

ssh-keygen

Danach gibt es eine Datei:

~/.ssh/id_rsa.pub

Den Inhalt dieser Datei bastelt ihr in folgenden Befehl ein, den ihr dann auf dem Switch absetzt (alles in eine Zeile):

ip ssh public-key manager ‘ssh-rsa AAAA … … c1oTWl username@hostname’

Nun könnte man denken, dass es das war. Aber weit gefehlt. Man muss dem Switch jetzt noch sagen, dass ihn die öffentlichen Schlüssel überhaupt interessieren. Das geht hiermit:

aaa authentication ssh login public-key

Nun muss man aber beim Anmelden am Switch immer noch jedes Mal das Kennwort eingeben. Dies kann man wie folgt umgehen:
Entweder man entfernt das Kennwort vom privaten Schlüssel (dumme Idee, weil dann jeder, der Zugriff auf die Datei hat gleichzeitig auf alle Systeme kommt, auf denen der private Schlüssel dazu abgelegt ist) oder ihr nehmt den SSH-Agent in die .bashrc mit auf:

SSHAGENT=/usr/bin/ssh-agent

SSHAGENTARGS=”-s”

if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then

eval `$SSHAGENT $SSHAGENTARGS`

trap “kill $SSH_AGENT_PID” 0

fi

ssh-add .ssh/id_dsa

So funktioniert das bei mir in meiner .bashrc unter cygwin. Beim öffnen der Shell werde ich einmalig nach dem Kennwort gefragt und komme dann direkt ohne Kennworteingabe auf meine Linux-Systeme und Switches.

Eins noch:

write memory

…nicht vergessen.

Viel Spaß beim Nachmachen.

Gruß Alex