Löschen von SSH-Keys auf dem TP-Link TL-SG3109

21. August 2012 | Von | Kategorie: Admin

Der TL-SG3109 ist ein einfacher kleiner managebarer Switch von TP-Link, der für kleines Geld (unter 100 EUR) sowohl VLAN, Trunking, ACLs, SNMP und vieles weiteres mehr kann. Leider wird er nicht mehr von TP-Link unterstützt und es scheint auch keine Firmware-Updates zu geben. Die ausgelieferte Firmware ist sehr buggy und kann nur über die CLI wirklich genutzt werden. Das Webinterface ist vollkommen unbrauchbar. Allerdings hat auch die CLI ihre Probleme.

Ich habe zum Beispiel einen SSH-Server für die Fernadministration gestartet und hierzu Schlüssel erzeugt:


swralf(config)# crypto key generate rsa
The SSH service is generating a private RSA key.
This may take a few minutes, depending on the key size.
swralf(config)# ip ssh server

Versuche ich mir nun mit Hilfe der SSH von einem Linux-System zu verbinden, kommt:


ssh_rsa_verify: RSA modulus too small: 512 < minimum 768 bits
key_verify failed for server_host_key

Scheinbar erzeugt der Switch nur RSA-Schlüssel mit einer Länge von 512 Bits. Die Länge ist bei diesem Gerät nicht konfigurierbar. Alternativ können auch DSA-Schlüssel erzeugt werden. Die funktionieren. Das habe ich auf einem anderen Switch verifiziert. Ich kann die DSA-Schlüssel auch auf diesem Switch erzeugen, der SSH-Server nutzt jedoch nur die RSA-Schlüssel, wenn sie existieren. Leider gibt es keinen Befehl um die Schlüssel zu löschen. Wahrscheinlich sind sie im Flash gespeichert. Der Switch hat aber in der CLI keinen Befehl um den Flash anzuzeigen. Ohne Wissen des Dateinamens können die Schlüssel nicht gespeichert werden.

Es funktioniert jedoch trotzdem. Hierzu muss der Switch neugeladen werden:


swralf# reload
You haven't saved your changes. Are you sure you want to continue ? (Y/N)[N] Y
This command will reset the whole system and disconnect your current session. Do you want to continue ? (Y/N)[N] Y
....

....

TPLink Switch based on 88E6218 with ARM946E-S.
32MByte SDRAM. I-Cache 8 KB. D-Cache 8 KB. Cache Enabled.

Autoboot in 2 seconds - press RETURN or Esc. to abort and enter prom.

Hier muss nun ESC gedrückt werden. Dann erscheint ein neues Menü. Hier wählen Sie dann 4 für den Diagnostic Mode aus.


Startup Menu

[1]  Download Software
[2]  Erase Flash File
[3]  Password Recovery Procedure
[4]  Enter Diagnostic Mode
[5]  Set Terminal Baud-Rate
[6]  Back
Enter your choice or press 'ESC' to exit:

The diagnostic will be activated after the system startup.

==== Press Enter To Continue ====

Mit Enter kommen Sie zurück ins Menü und wählen dann die 6. Nun bootet der Switch wieder, jetzt aber im Debug mode.


>debug
Enter DEBUG Password: *****
DEBUG>help

help on supported commands:
FORMAT:
help  [name] [name] ...
DEBUG>help ?
Unknown parameter
May be one from the following list:

boot      config    delete    delscr    eap       erase     exit      help
mping     os        ping      print     read      reboot    save      set
software  syslog    test      unset     web

Das Debug-Kennwort ist „debug“. Die Hilfe zeigt den Befehl „print“. Ein weiterer Aufruf von „help print“ zeigt den Befehl „print files“ an:


DEBUG>print files

Name        Type               Size     status

RSCOD1      static            3328K      exist
RSCOD2      static            3328K      exist
SYSLOG1     static             128K      exist
SYSLOG2     static             128K      exist
CDB         dynWithCopy        128K      exist
BACKUP      dynWithoutCopy     128K  not exist
SSHKEYS     dynWithCopy        128K      exist

Es gibt also ein Datei SSHKEYS. Diese kann mit dem Befehl „delete file“ gelöscht werden:


DEBUG>delete file SSHKEYS
Are you sure you want to delete file SSHKEYS (y/n)[n]? y

**************************************************
*****************  SYSTEM RESET  *****************
**************************************************

Anschließend führt das System sofort einen Reboot durch. Nun können neue DSA-Schlüssel erzeugt werden:


swralf(config)# crypto key generate dsa
The SSH service is generating a private DSA key.
This may take a few minutes, depending on the key size.
........

swralf(config)# ip ssh server

Nun funktioniert auch die SSH-Verbindung nachdem der alte Host-Key im Client gelöscht wurde.

Post to Twitter Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit

Tags: | |

Schreibe einen Kommentar

Fühle dich ermuntert einen Kommentar, Anmerkungen, Hinweise oder deine Ideen zum Thema zu hinterlassen. Wir freuen uns über deine Rückmeldung.