Damit man sich am OmniSwitch mit AOS Release 6 per „SSH Private/Public-Key“ anmelden kann, braucht man natürlich erst einmal einen passenden Schlüssel.
Private/Public-Key für AOS R6 Anmeldung erzeugen:
Benny$ ssh-keygen -t dsa -C sshuser Generating public/private dsa key pair. Enter file in which to save the key (/Users/Benny/.ssh/id_dsa): sshuser Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in sshuser. Your public key has been saved in sshuser.pub. The key fingerprint is: ae:7f:0f:a9:f6:e4:70:93:9e:95:59:96:d5:56:01:01 sshuser The key's randomart image is: +--[ DSA 1024]----+ | E.oo.o| | o| | +| | + | | S + | | . o = | | o B + | | ..B.= | | .ooo=.. | +-----------------+ Benny$ ls sshuser.pub sshuser
Der „Private-Key“ muss mit einem starken Passwort geschützt werden und darf unter keinen Umständen auf dem Switch abgelegt werden.
Damit die Anmeldung funktioniert, muss es einen passenden Benutzer auf dem Switch geben:
OmniSwitch-> user sshuser read-write all password verysecret123 OmniSwitch-> show user ... User name = sshuser, Password expiration = None, Password allow to be modified date = None, Account lockout = None, Password bad attempts = 0, Read Only for domains = None, Read/Write for domains = All , Snmp allowed = NO, Console-Only = Disabled
Kleine Gemeinheit: Der Switch sucht später nach „sshuser_dsa.pub“ im Verzeichnis /flash/network/pub! Beachtet man dies nicht, sehen wir uns mit folgender Fehlermeldung konfrontiert.
Benny$ ssh -i sshuser sshuser@192.168.2.106 Received disconnect from 192.168.2.106: 2: Only Public Key authentication is allowed.
Hier ein Auszug aus der Analyse:
SUN DEC 31 01:59:31 2000 SSH debug1 [SSH 16] userauth-request for user sshuser service ssh-connection method publick SUN DEC 31 01:59:31 2000 SSH debug1 [Count.]ey SUN DEC 31 01:59:31 2000 SSH debug1 [SSH 16] attempt 1 failures 1 SUN DEC 31 01:59:31 2000 SSH debug1 [SSH 16] authmethod_lookup, (0) name: publickey SUN DEC 31 01:59:31 2000 SSH debug1 [SSH 16] authmethod_lookup, auth method: none, len: 4 SUN DEC 31 01:59:31 2000 SSH debug1 [SSH 16] authmethod_lookup, (1) name: publickey SUN DEC 31 01:59:31 2000 SSH debug1 [SSH 16] authmethod_lookup, auth method: publickey, len: 9 SUN DEC 31 01:59:31 2000 SSH debug2 [SSH 16] input_userauth_request: try method publickey SUN DEC 31 01:59:31 2000 SSH debug2 [SSH 16] userauth_pubkey(): user=sshuser SUN DEC 31 01:59:31 2000 SSH debug1 [SSH 16] test whether pkalg/pkblob are acceptable SUN DEC 31 01:59:31 2000 SSH debug1 [SSH 16] user_key_allowed: PubKey file = "/flash/network/pub/sshuser_dsa.pub" SUN DEC 31 01:59:31 2000 SSH debug1 [SSH 16] user_key_allowed: can not find file "/flash/network/pub/sshuser_dsa.pub
Einspielen des SSH Public-Key per FTP (ASCII):
Benny$ ftp 192.168.2.106 Connected to 192.168.2.106. 220 FTP server ready Name (192.168.2.106:Benny): admin 331 Password required Password: 230- Welcome to the Alcatel-Lucent OmniSwitch 6450 Software Version 6.6.3.451.R01 Service Release, December 20, 2012. Copyright(c), 1994-2012 Alcatel-Lucent. All Rights reserved. OmniSwitch(TM) is a trademark of Alcatel-Lucent registered in the United States Patent and Trademark Office. 230 ftp> cd .. 250 Changed directory to "/flash" ftp> cd network/pub 250 Changed directory to "/flash/network/pub" ftp> put sshuser.pub sshuser_dsa.pub local: sshuser.pub remote: sshuser_dsa.pub 229 Entering Extended Passive Mode (|||1125|) 150 Opening ASCII mode data connection 100% |**************************************************************************************| 598 6.00 MiB/s --:-- ETA 226 Transfer complete 598 bytes sent in 00:00 (51.42 KiB/s) ftp> bye 221 Bye...see you later
Im folgenden Beispiel wird der „Private Key“ explizit mit -i referenziert. Der Benutzername für die Anmeldung wird vor dem @-Zeichen übergeben:
Benny$ ssh -i sshuser sshuser@192.168.2.106 Welcome to the Alcatel-Lucent OmniSwitch 6450 Software Version 6.6.3.451.R01 Service Release, December 20, 2012. Copyright(c), 1994-2012 Alcatel-Lucent. All Rights reserved. OmniSwitch(TM) is a trademark of Alcatel-Lucent registered in the United States Patent and Trademark Office. OmniSwitch->
Wenn für den Benutzer ein Public-Key auf dem Switch vorgesehen ist, hat dieser Vorrang vor einer Radius-Anmeldung! Soll heissen für den Benutzer „sshuser“ wird nicht beim Radius angefragt sondern direkt authentifiziert.