SSH-Schlüssel neu generieren

Um Verbindung mittels SSH aufzubauen bzw. solche entgegenzunehmen, wird ein SSH-Schlüssel benötigt. Für den OpenSSH-Server finden sich diese Schlüssel im Verzeichnis /etc/ssh/. Um die Schlüssel für den Server neu zu generieren, müssen die alten Schlüssel gelöscht werden:

rm /etc/ssh/ssh_host_*

Anschließend wird der OpenSSH-Server neu konfiguriert, damit neue Schlüssel erzeugt werden:

dpkg-reconfigure openssh-server

Nachdem dies geschehen ist, muss im letzten Schritt der SSH-Server neu gestartet werden:

systemctl restart ssh

Damit sind die Schlüssel ausgetauscht. Bei einem erneuten Verbindungsversuch, wird ein entsprechender Client deshalb eine entsprechende Warnmeldung ausgeben, welche dann bestätigt werden muss.

JSON mit Schlüsselwörtern unter Java deserialisieren

Mittels GSON von Google, können JSONs unter Java einfach in Objekte deserialisiert werden. Allerdings können bestimmte JSON-Objekte zu Problemen führen. So zum Beispiel folgende JSON-Datei:

{
   "default":"ABC",
   "value":"DEF"
}

Das entsprechende Java-Objekt könnte in diesem Fall wie folgt aussehen:

class Data {

  public String default;
  public String value;
}

Damit wäre GSON in der Lage die entsprechenden Felder aus dem JSON, den Felder in der Klasse zuzuordnen. Allerdings kann obige Klasse nicht kompiliert werden. Hintergrund hierfür ist das Feld default. Unter Java ist dies ein Schlüsselwort und kann somit nicht als Feldname genutzt werden. Unter Sprachen wie C# könnte hier mit einer Verbatim-Zeichenkette gearbeitet werden:

public String @default;

Allerdings bietet Java diese Möglichkeit nicht an, sodass sich hier anders beholfen werden muss. Die Lösung ist die Annotation SerializedName. Diese gibt den Namen des Schlüssels im JSON an, welcher in das entsprechende Feld deserialisiert werden soll:

class Data {

  @SerializedName("default")
  public String defaultValue;
  public String value;
}

Damit kann GSON die Serialisierung wieder vornehmen und das obige JSON kann in eine entsprechende Java-Struktur abgebildet werden.

Ed25519-SSH-Schlüssel im Terminal generieren

Wer in den letzten Jahren einen SSH-Schlüssel generiert hat, wird meist RSA als kryptografischen Verfahren dafür genutzt haben. Mittlerweile geht die Empfehlung für neue Schlüssel mehrheitlich zu solchen, welche auf elliptische Kurven basieren. Ein solcher Schlüssel kann im Terminal über den Befehl:

ssh-keygen -t ed25519

generiert werden. Alternativ kann eine entsprechende E-Mail-Adresse für den Schlüssel definiert werden:

ssh-keygen -t ed25519 -C ""

Anschließend wird ein entsprechender Schlüssel erzeugt:

The key fingerprint is:
SHA256:1RCIsYVjuj9JUdpkAQEpnHmQEI2n+VsW1hr5dPk/X9w 
The key's randomart image is:
+--[ED25519 256]--+
|o*.=.o+*ooo.     |
|. O o =o=  o     |
| + o =.B .. .    |
|o   * = +.       |
| . . B oS.       |
|  . = o   .    ..|
|   + o .   .    E|
|  .   +     o  . |
|       .     o.  |
+----[SHA256]-----+

Wer sich den öffentlichen Schlüssel anschaut, wird feststellen, das dieser wesentlich kürzer ist:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDQFUwFRKdr/6xq208X6ME9kQF0pxVWSEmIkMqJXwUZ2 

Die Länge des Schlüssels verglichen mit den RSA-Schlüsseln sagt allerdings direkt nichts über die Sicherheit des Schlüssels aus. Grundsätzlich sind die Ed25519-Schlüssel kürzer als vergleichbare RSA-Schlüssel. Daneben ist das Verfahren schneller und resistenter gegen Kollisionsattacken und sollte daher in Zukunft gewählt werden.

Kochfeld von viva entsperren

Ich nutze zu Hause ein Kochfeld vom Hersteller viva. Dieses Kochfeld verfügt unter anderem über eine Sperrfunktion, um das Kochfeld gegen unerwünschte Bedienung zu schützen. Ab und an aktiviere ich besagte Sperre aus Versehen.

Das Bedienfeld des Kochfeldes

Und dann stellt sich jedes Mal die Frage, wie genau die Sperre wieder deaktiviert werden kann. Je nach Hersteller und Modell ist die Vorgehensweise leider unterschiedlich. Bei den meisten Kochfeldern von viva löst ein längerer Druck auf das Schlüsselsymbol die Sperre, sodass der Herd anschließend wieder genutzt werden kann.