Mit SSH-KEYGEN Schlüssel erzeugen

SSH-KEYGEN zum Erstellen der SSH Public-Key-Authentifizierung

Die Public-Key-Authentifizierung, oder auch Asymmetrisches Kryptosystem genannt, ist eine Authentifizierungsmethode, die von OpenSSH und OpenSSL verwendet wird, um Benutzer mit Hilfe eines Schlüsselpaars, bestehend aus digitalen Signaturen, privatem und öffentlichem Schlüssel, an einem Server anzumelden. Ein solches Schlüsselpaar ist wesentlich schwerer zu kompromittieren als ein Kennwort.

OpenSSH RSA-Key generieren

Der einfachste Weg ein Schlüsselpaar im OpenSSH Format zu generieren, ist die Ausführung von ssh-keygen ohne Argumente in der Shell. In diesem Fall wird nach der Datei gefragt, in der die Schlüssel gespeichert werden sollen. Wie hier in diesem Beispiel:

SSH-Schlüssel für die Benutzerauthentifizierung werden normalerweise in der Benutzerbasis unter dem Verzeichnis .ssh gespeichert.

Das Schlüsselpaar kann auch mit der übergabe von Parameter generiert werden.

Die Parameter haben folgende Bedeutung:
-f die Schlüsseldatei
-t der Algorithmus
-b die Schlüssellänge
Der längste Schlüssel ist 4096. Wird kein Algorithmus übergeben, ist der Standard ein RSA Key.

Bei der Frage nach der Passphrase für den privaten Schlüssel, kann eine Passphrase eingegeben werden, im übernächsten Abschnitt wird gezeigt, wie diese generiert werden kann, durch drücken der Eingabetaste, ohne eine Passphrase wird der Schlüssel ohne Passwortschutz erstellt.

Der Zweck der Passphrase besteht normalerweise darin, den Schlüssel zu schützen. Es handelt sich um einen zweiten Authentifizierungsfaktor. Dies macht die Schlüsseldatei ohne öffentlichen Schlüssel für Angreifer unbrauchbar. Es kommt nicht selten vor das Hacker nach Dateien von kompromittierten Systemen filtern, auch aus Backups und stillgelegter Hardware.

Eine sichere Passphrase kann automatisch generiert werden, mit folgender Eingabe wird eine 32 Zeichen lange Passphrase erzeugt.

Auch kann OpenSSL genutzt werden, um mit dem eingebauten Zufallsgenerator (rand) eine Passphrase zu generieren, diese wie folgt ausgegeben wird.

Zum privaten Schlüssel und die dazugehörende Passphrase dürfen nicht autorisierte kein Zugang haben, wird der private Schlüssel entwendet, muss ein neuer generiert werden, daraufhin der öffentliche Schlüssel ebenfalls ausgetauscht wird.

Geht nur der öffentliche Schlüssel verloren, zeigt folgende Eingabe wie der öffentliche Schlüssel mit der Option -y aus dem privaten OpenSSH Schlüssel wieder erzeugt werden kann, dazu wird die Passphrase benötigt.

Zu beachten ist, das am Ende der Datei key_rsa.pub der Kommentar (key comment) wieder hinzugefügt werden muss, nach einem Leerzeichen, wie in diesem Beispiel user@host.localdomain:

 Die Datei key_rsa.pub darf an keiner weiteren stelle verändert werden.

ECDSA-Key generieren

Als nächstes wird ein ECDSA Schlüsselpaar mit der Schlüssellänge 521 Bit erzeugt, und unter der Benutzerbasis ~/.ssh gespeichert. Gültige längen sind 256, 384 or 521 bits.

ECDSA ist ein neuer Algorithmus für digitale Signaturen, der von der US-Regierung unter Verwendung elliptischer Kurven standardisiert wurde. Es ist wahrscheinlich aktuell der beste Algorithmus. Die meisten SSH-Clients unterstützen heute ECDSA.

Im Verzeichnis Pfad ~/.ssh wurden nun zwei Dateien erstellt. Die Datei mit der Erweiterung .pub ist der öffentliche Schlüssel. Die Datei key-ecdsa in diesem Beispiel, ist der private Schlüssel und ist nur für den Besitzer lesbar.

Der öffentliche Schlüssel key-ecdsa.pub als SHA2 Hash wird nun in der Datei authorized_keys auf dem Server im Home Verzeichnis des Benutzers unter .ssh gespeichert.

Public-Key Transfer mit ssh-copy-id

Um die Authentifizierung mit öffentlichem Schlüssel zu verwenden, muss der öffentliche Schlüssel auf den Server kopiert und in der Datei authorized_keys gespeichert werden. Dies kann bequem mit dem Tool ssh-copy-id durchgeführt werden.

Nun kann man sich am Server Anmelden ohne das ein Passwort eingegeben werden muss, auch für automatisierte Aufgaben und für Anmeldungen aus Scripts ist diese Methode geeignet.

Bei der Fehlersuche kann der Verbose Modus hilfreich sein, dabei werden zahlreiche Debugging-Meldungen über den Fortschritt ausgegeben, wie Verbindungs-, Authentifizierungs- und Konfigurationsprobleme.

Mehrere -v Optionen erhöhen die Ausführlichkeit, maximal ist -vvv möglich.

OpenSSH config

Hat man unterschiedliche Hosts und Schlüsselpaare, kann in der Datei config unter ~/.ssh dies definiert werden.

 

Run Nano as root in vnc session

How to Run Nano File Manager as root in a VNC Session

In this post I show how to run Nano file manager as root in a VNC session. I’m using a Fedora Cinnamon Spin to this logged in as an common user via VNC viewer.

Fire up a terminal and insert the command below at the end of .bashrc by hit nano ~/.bashrc

 this example use vncuser, enter your username instead.

close the terminal and re-open again, hit the command line below to run nemo as root:

As the video shows below.

Browser User Agent Einstellung ändern

Tutorial Browser User Agent Änderung ohne Erweiterung

Was ist ein User Agent?

Unter dem User Agent versteht man einen Teil des HTTP-Headers, der bei einem HTTP-Request übermittelt wird. Der User Agent übermittelt dem Server Informationen, diese umfassen meistens den verwendeten Browser und dessen Version sowie das Betriebssystem des Benutzers.

Wenn man den Eindruck erwecken möchte, dass die Web-Anfrage von einem anderen Browser stammt, als das man selber einsetzt, ist dies möglich, um beispielsweise eine Website auszutricksen, die behauptet mit dem Browser nicht kompatibel zu sein. Alle gängigen Browser bieten integrierte User Agent Switcher, sodass man den User Agent ändern kann, ohne das eine Erweiterung installiert werden muss.

Websites identifizieren Browser anhand des User Agent. Wenn man den Benutzeragenten eines Browsers ändert, wird der besuchten Website mitgeteilt, dass es sich um einen anderen Browser handelt. Auf diese Weise kann man Webseiten Testen, ob diese für unterschiedliche Browser oder sogar für verschiedene Geräte wie Smartphones und Tablets ausgelegt sind.

Google Chrome

Der User Agent Switcher von Chrome ist Teil der Entwicklertools. Öffne hierzu das Chrome Menü Einstellungen und gehe zu Weitere Tools und Entwicklertools, oder durch drücken der Tastenkombination Strg + Umschalt + I auf der Tastatur.

Die Option im Register Network conditions erreicht man über das Register Network und unten links das drei Punkte Menü. Bei User agent – Select automatically deaktivieren und Custom wählen, in das Feld kann nun ein beliebiger String für den User Agent eingetragen werden, oder ein User Agent aus der Liste wählen.

Mozilla Firefox

Bei Mozilla Firefox befindet sich diese Option auf der about:config Seite.

Um auf die Seite zu kommen gibt man about:config in die Adresszeile von Firefox ein und drückt die Eingabetaste. Es wird eine Warnung angezeigt, Hier endet möglicherweise die Gewährleistung, mit klick auf ich bin mir der Gefahren bewusst! geht es weiter.

Hier gibt man useragent in das Suchfeld ein und drückt die Eingabetaste, mit rechts-klick öffnet sich das Kontext Menü, wähle Neu und String, in das Feld als Wert general.useragent.override einfügen.

String-Wert in des Feld eintragen und mit OK bestätigen.

general.useragent.override

Einige Beispiele für den User Agent String:

Um nun den User Agent seines Browser zu verifizieren, zeigt dies die Abfrage hier.