Archiv der Kategorie: Howto Tutorials

How to Application and Service integration, operating system (OS) configuration and Enhancements Tutorials for Professionals

Lets Encrypt Installation für Debian 10

Apache mit Let’s Encrypt unter Debian 10

Let’s Encrypt ist eine Zertifizierungsstelle (CA), die eine einfache Möglichkeit bietet, kostenlose TLS/SSL-Zertifikate zu beziehen und zu installieren, wodurch verschlüsseltes HTTPS auf Webservern ermöglicht wird. Es vereinfacht den Prozess, indem es einen Software-Client, Certbot, bereitstellt, der versucht, die meisten der erforderlichen Schritte zu automatisieren. Let’s Encrypt verwendet das ACME-Protokoll (ACMEv2), um den Domainnamen zu überprüfen und das Zertifikat zu steuern und auszustellen. Derzeit ist der gesamte Prozess zum Erhalten und Installieren eines Zertifikats sowohl auf Apache als auch auf Nginx vollständig automatisiert.

In diesem Tutorial wird Certbot verwendet, um ein kostenloses SSL-Zertifikat für Apache unter Debian 10 zu erhalten und um Zertifikate so einzurichten, dass sie automatisch installiert werden.

Voraussetzungen

  • Ein Debian 10 Server, ein Nicht-Root Benutzer mit sudo Berechtigungen ist angelegt und eine Firewall (ufw oder firewalld) ist eingerichtet.
  • Ein vollständig registrierter Domainname, zum Beispiel unblog.ch.
  • Beide der folgenden DNS-Einträge sind für den Server eingerichtet.
    • Ein A Record für meine_domain der auf die öffentliche IP-Adresse des Servers verweist.
    • Ein A Record für www.meine_domain der auf die öffentliche IP-Adresse des Servers verweist.
  • Apache ist installiert, hierzu kann die Anleitung LAMP Stack auf Debian Installieren befolgt werden. Stelle sicher, dass eine virtuelle Hostdatei für die Domain eingerichtet ist. Dieses Tutorial verwendet als Beispiel /etc/apache2/sites-available/meine_domain.conf

Hinweis : Derzeit ist Certbot standardmäßig nicht in den Debian-Software-Repositorys verfügbar. Um Certbot als Snap auf Debian zu installieren, muss zuerst snapd auf dem Server installiert werden. snapd ist ein Daemon, der zum installieren und Verwalten von Snaps erforderlich ist.

Snap ist ein Softwareverteilungssystem und eine Paketverwaltung für Linux, das bzw. die distributionsübergreifend arbeitet. Das von Canonical entwickelte System unterstützt transaktionale Updates und Rollbacks. Es wurde von Canonical für Ubuntu entwickelt und ist mittlerweile auch für andere Linux-Distributionen verfügbar.

Certbot Installation auf Debian 10

Führe die folgenden Anweisungen in der Befehlszeile auf dem Debian Server aus, um die neueste Version von snapd zu installieren.

$ sudo snap install core; sudo snap refresh core

Führe diesen Befehl in der Befehlszeile aus, um Certbot zu installieren.

$ sudo snap install --classic certbot

Die folgende Anweisung in der Befehlszeile ausführen, um sicherzustellen, dass der Befehl certbot ausgeführt werden kann.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Dieser Befehl um ein Zertifikat abzurufen und um Certbot die Apache-Konfiguration automatisch bearbeiten zu lassen, indem der HTTPS-Zugriff in einem einzigen Schritt aktiviert wird.

$ sudo certbot --apache

Wer die Änderungen an der Apache-Konfiguration selber vornehmen möchte, kann diesen Befehl ausführen.

$ sudo certbot certonly --apache

Die automatische Verlängerung derZertifikate testen, geht mit dem folgenden Befehl.

$ sudo certbot renew --dry-run

Um das ganze zu überprüfen, besuche https://meine_domain/ im Browser deiner Wahl und schaue in der URL-Zeile nach dem Schlosssymbol.

Einrichten des SSL-Zertifikats

Certbot muss den richtigen virtuellen Host in der Apache-Konfiguration finden, damit SSL automatisch konfiguriert werden kann. Dies geschieht insbesondere, indem nach der ServerName Anweisung gesucht wird, die der Domäne entspricht, für die ein Zertifikat angefordert werden soll.

Öffne zur Überprüfung die virtuelle Hostdatei für die Domain mit vim oder nano Texteditor.

$ vi /etc/apache2/sites-available/meine_domain.conf

Suche in der Zeile nach ServerName. Es sollte hier der Domainname stehen meine_domain.

ServerName meine_domain

Falls noch nicht geschehen, aktualisiere die ServerName Anweisung so, dass sie auf den Domainname verweist.

Überprüfe als Nächstes die Syntax der Konfigurationsänderungen.

$ sudo apache2ctl configtest

Certbot bietet eine Vielzahl von Möglichkeiten, SSL-Zertifikate über Plugins zu erhalten. Das Apache-Plugin kümmert sich um die Neukonfiguration von Apache und lädt die Konfiguration bei Bedarf neu. Folgender Befehl verwendet dieses Plugin.

$ sudo certbot --apache -d meine_domain -d www.meine_domain

Es wird certbot mit dem --apache Plugin ausgeführt und verwendet -d, um die Domain Namen anzugeben, für die das Zertifikat gültig sein soll.

Wenn man Certbot zum ersten Mal startet, werd man aufgefordert, eine E-Mail-Adresse einzugeben und den Nutzungsbedingungen zuzustimmen. Darüber hinaus wird man gefragt, ob man bereit ist, die E-Mail-Adresse an die Electronic Frontier Foundation weiterzugeben, eine gemeinnützige Organisation, die sich für digitale Rechte einsetzt und auch Certbot herstellt. Bestätige hier mit Y für die E-Mail-Adresse oder N um abzulehnen.

Um den Erneuerungsprozess zu testen gibt es folgender Probelauf.

$ sudo certbot renew --dry-run

Fazit

In diesem Tutorial haben wir den Let’s Encrypt-Client installiert, SSL-Zertifikate für die Domain heruntergeladen, Apache für die Verwendung dieser Zertifikate konfiguriert und die automatische Zertifikatserneuerung eingerichtet.

Quellenlink: certbot instructions

KiTTY SSH-Client für Windows

KiTTY der PuTTY-Fork als Windows Telnet- und SSH-Client

KiTTY ist ein Fork der PuTTY Version 0.71, von vielen genutzt ist PuTTY der meist bekannte Telnet/SSH-Client. Wie auch PuTTY wurde KiTTY nur für Windows entwickelt. KiTTY verfügt über alle Funktionen der Originalsoftware, beinhaltet jedoch einen erweiterten umfang.

So ergibt sich unter weiterem die gelegenheit, die Verbindungsdaten – Sessions nicht wie es der Standard vorsieht, in der Registry unter dem Schlüssel Sessions zu verwalten, sondern es bietet sich die Möglichkeit die Verbindungsdaten als Textdateien unter dem Ordner sessions zu speichern.

KiTTY Sitzungsdaten in Verzeichnis Sessions

Damit die Verbindungsdaten unter dem Verzeichnis Sessions als Textdateien gespeichert werden können, muss die Datei kitty.ini erstellt werden, in dieser der folgende Inhalt eingefügt wird.

[KiTTY]
savemode=dir

Bei der ersten Verwendung ist es möglich, die gesamte Konfiguration aus der Registrierung zu kopieren, dann wenn bereits Sitzungen mit dem normalen KiTTY-Modus erstellt wurden.

Dazu wird eine Eingabeaufforderung Win+Rcmd (command prompt) geöffnet und zum Verzeichnis gewechselt wo kitty.exe ist. Es werden nun mittels Parameter --convert-dir in der Befehlszeile, die zuvor in der Registrierung gespeicherten Sitzungen, als Sitzungsdateien unter dem Verzeichnis Sessions gespeichert.

kitty.exe -convert-dir

Im Gegensatz zum (klassischen) Registrierungsmodus ist es möglich, mehrere gespeicherte Sitzungen mit demselben Namen, jedoch in verschiedenen Ordnern zu speichern. Um eine Sitzung mit der Befehlszeilenoption (-load) zu starten, ist es daher erforderlich, den Ordner, in dem sich die Sitzungsdatei befindet, mit der Option -folder anzugeben.

kitty.exe -folder Ordner/Unterordner -load SessionName

Fazit

Im KiTTY-Modus für INI-Datei können die Sitzungsdaten in einem Verzeichnis gespeichert und verwaltet werden, hierdurch bietet sich die Möglichkeit, die Verbindungsdaten in Sitzungsdateien über ein Netzwerkordner zu teilen, oder über ein Offlineordner die Sitzungsdateien zu synchronisieren.

Tipp

KiTTY Sitzung mit Windows Verknüpfung starten. Mit dem Parameter -load können Sitzungen als Shortcut auf dem Desktop oder in Ordnern gespeichert und von dort gestartet werden.

kitty.exe -load SessionName
KiTTY Shortcut load SessionName

KiTTY Download FossHub

Computername oder Hostname ändern

Computer und Hostname umbenennen

Hostname ist der eindeutige Name eines Computers, unter diesem sich die Systeme erkennen lassen und sich untereinander im Netzwerk Identifizieren.

Der Hostname wird in der Regel im Installationsdialog abgefragt und bei der Installation festgelegt. Dieser Beitrag zeigt wie der Hostname unter Linux und ein Computer Name bei Windows und macOS nachträglich geändert wird.

Windows Computer Name umbenennen

Bei Windows kann der Computername in der MMC-Konsole Systemeigenschaften vergeben werden.

Windows-Logo + R

Tastenkombination Win+R und Eingabe SYSTEMPROPERTIESCOMPUTERNAME
um die MMC-Konsole zu öffnen.

Windows + R Ausführen YSTEMPROPERTIESCOMPUTERNAME
Bei Windows kann der Computername in der MMC-Konsole Systemeigenschaften vergeben werden

Mit Klick auf die Schaltfläche Ändern geht es zum Computer umbenennen. Nach der änderung muss Windows neu gestartet werden.

Wer über die Windows 10 Einstellungen gehen möchte, geht auf Start – Einstellungen – System – Info – Diesen PC umbenennen.

In der Windows Eingabeaufforderung gibt es zudem zum Computer Name anzeigen das Kommando hostname und ipconfig.

hostname
ipconfig /all | findstr Hostname

Diese Möglichkeit bietet sich vor allem dort an, wo die Batch Verarbeitung zum Einsatz kommt. Die Abfrage mit Ausgabe im Command Prompt (cmd) zeigt sich wie folgt.

Eingabeaufforderung hostname umbenennen
Abbildung: Eingabeaufforderung hostname, ipcconfig /all | findstr Hostname

Computer Name in PowerShell anzeigen

$env:computername

Der Windows Computer Name lässt sich auch in der PowerShell umbenennen. Dabei wird PowerShell als Administrator geöffnet.

Rename-Computer -NewName NewComputerName

Ist der Computer in einer Windows Domäne, kann mit folgendem Befehl die Umbenennung erfolgen, dabei ist die Authentifizierung als Administrator in der Domäne erforderlich.

Rename-Computer -NewName NewComputerName -DomainCredential domain\Administrator -PassThru

Anstelle NewComputerName ist der eigentliche Computer Name einzugeben, mit DomainCredential authentifiziert man sich als Domain Administrator.

Linux Hostname ändern

Unter Linux kann der Hostname mit dem Befehl hostname abgefragt werden.

$ hostname
$ zeus.simple.foo

Mit dem Befehl hostnamectl status der Systemstatus ausgeben.

$ hostnamectl status
   Static hostname: zeus.simple.foo
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 94c14d79bb182e1aa3f0171a0eb05e79
           Boot ID: c28ea53f380c4e0eabe696f08128585c
    Virtualization: vmware
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-13-amd64
      Architecture: x86-64

Hostname im Terminal mit hostnamectl set-hostname ändern.

hostnamectl set-hostname NewHostname.domain.foo

Bei früheren Versionen wie CentOS 5 oder Debian 7 findet die abfrage wie auch das ändern mit dem Command hostname satt.

hostname NewHostname.domain.foo

Dabei wird der Hostname in der Datei /etc/hostname gespeichert.

macOS Computer Name editieren

Computer Name unter macOS anzeigen und ändern. Hierzu geht man über das Apple Logo – Systemeinstellungen (System Preferences) – Freigaben (Shares).

Computer Name unter macOS anzeigen und ändern

Bei Computer Name wird dieser mit Klick auf Edit festgelegt.

Alternativ gibt es auch bei macOS die Möglichkeit ein Computername im Terminal zu ändern.

sudo scutil --set HostName "NewHostname.domain.foo"

Um die Änderung zu überprüfen muss das Mac Terminal beendet werden, dann bei erneuter Öffnung erscheint der neue Hostname im Prompt.