SSH Public Key Login på Cisco IOS fra macOS
Denne guide løser problemet med "Unable to negotiate" ciphers/KEX-fejl og aktiverer password-fri public-key adgang mellem moderne macOS (OpenSSH 7.0+) og Cisco IOS 15.x.
1. Konfiguration af Cisco Switch
Log ind på switchen i privileged mode (conf t) og kør følgende for at sikre 2048-bit modulus, stærke krypteringsalgoritmer og importere din public key:
! 1. Generer 2048 bit RSA nøgle (hvis den er 1024 nu)
conf t
crypto key generate rsa general-keys modulus 2048
! 2. Hærd SSH-sikkerheden
ip ssh version 2
ip ssh dh min size 2048
ip ssh server algorithm encryption aes256-ctr aes192-ctr
! 3. Importér din Public Key fra Mac (findes via: cat ~/.ssh/id_rsa.pub)
ip ssh pubkey-chain
username admin
key-string
<INDSÆT_DIN_PUBLIC_KEY_STRENG_HER>
exit
exit
exit
! 4. Aktiver lokal login på VTY-linjer
line vty 0 15
login local
transport input ssh
exit
key-string, kan du indsætte hele nøglestrengen (uden ssh-rsa præfiks og kommentar). Cisco IOS wrapper og gemmer selv linjerne automatisk.2. Konfiguration af macOS Client (~/.ssh/config)
Moderne macOS versioner (OpenSSH 7.0+) deaktiverer ældre ssh-rsa og SHA1-baserede KEX-algoritmer som standard. For at Mac'en kan forhandle med Cisco IOS 15.x, tilføjes en specifik host-undtagelse i din lokale SSH config:
Åbn eller rediger ~/.ssh/config:
vi ~/.ssh/config
Tilføj følgende blok (tilpas IP og hostname efter dit setup):
Host 192.0.2.10 switch-lab01.homelab.local
User admin
IdentityFile ~/.ssh/id_rsa
# Tillad kompatibel Key Exchange (KEX)
KexAlgorithms +diffie-hellman-group14-sha1
# Tillad ældre Host Key signaturer
HostKeyAlgorithms +ssh-rsa
# Tillad RSA-nøgle med SHA1 (nødvendigt for IOS 15.x)
PubkeyAcceptedAlgorithms +ssh-rsa
3. Fejlfinding & Verificering
Hvis forbindelsen driller, kan du anvende følgende kommandoer til at inspicere tilstanden:
- På Cisco Switchen:
- På din Mac:
show ip ssh
show ip ssh pubkey-chain
ssh -v admin@192.0.2.10
(Viser verbose debug-output og præcis hvilken cipher/KEX forhandling der eventuelt fejler).
4. Ekstra sikkerhedstrin (Valgfrit)
Nu hvor din nøgle virker, kan du deaktivere password-login helt på switchen for at gøre den modstandsdygtig over for brute-force angreb:
conf t
ip ssh server authenticate user publickey
exit