Linux Survival Blog

Ubuntu 16.04 – SSH zugriff mittels ROOT erlauben

Der ROOT-Benutzer muss mit einem Passwort versehen sein, damit er aktiv ist.

Die Datei /etc/ssh/sshd_config muss bearbeitet werden (z.B. mit nano):

Die Zeile;
PermitRootLogin prohibit-password

in folgende Zeile abändern:
PermitRootLogin yes

Mittels

sudo systemctl restart sshd

den Dienst neu starten.

Ubuntu – Partition über 2 TB erstellen (GPT)

Für Partitionen über 2 Terabyte und gleicher Blockgröße (512) benötigt man das GUID partition table format (GPT), dieses kann entsprechende Mengen an Blöcken verwalten. Dieses funktioniert allerdings nicht mit dem Werkzeug „fdisk“ sondern mit „parted“ in der Kommandozeile. Das gleiche kann auch „gparted“ mit grafischer Benutzeroberfläche – die aber ja nicht immer zur Verfügung steht).

Um sich die ganze Situation mal anzusehen sollte folgender Befehl helfen:

sudo lshw -C disk

hier sieht man auch den „logical name“ der Festplatte der dann für „parted“ benötigt wird.

Dann geht es weiter „parted“ aufzurufen mit der richtig Festplatte zur Bearbeitung. Hier im Beispiel nehme ich „/dev/sdb“.

sudo parted /dev/sdb

ruft „parted“ im interaktiven Modus auf. Kommados für „parted“ können auf der Befehltszeile eingegeben werden, zu erkennen am vorangestelltem (parted). Auf die nakte Festplatte muss als erstes ein Partition-Table geschrieben werden im Format GPT.

mklabel gpt

hilft hier weiter… Mit dem Befehl „print“ unter „parted“ kann der aktuelle Status der Festplatte angeschaut werden. Jetzt sollte hier etwas in der Art wie „Partitionstabelle: gpt“ stehen.

Jetzt wird noch eine Partition benötigt. Das bewerkstelligt der Befehl „mkpart“, da ich nur eine Partition möchte wähle ich den Namen „storage“, mit einem „ext4“-Dateisystem und der komplette Platz soll verwendet werden (1MiB 100%, damit fängt die Partition bei 1 Megabyte an und belegt dann 100% ab dem physikalischem Anfang der Festplatte, dann stimmt auch auch die Ausrichtung (align) in den meisten Fällen, „parted“ warnt bei falscher Ausrichtung – wichtig für SSD-Festplatten).

mkpart storage ext4 1MiB 100%

Mit den Befehl:

align-check optimal 1

kann das auch noch mal Kontrolliert werden (die 1 ist die Partitionsnummer, kann mit „print“ ermittelt werden).

Um nun auch Daten speichern zu können fehlt noch das Dateisystem, das kann auch im „parted“ bewerkstelligen, wobei es eine Warnung gibt, dass das entsprechende Dienstprogramm des Datesystems das viel besser kann. Also „parted“ beenden mit:

quit

Und mit „mkfs.ext4“ ein Dienstprogramm des Paketes „e2fsprogs“ die Partition mit EXT4 formatieren, vorher mit „fdisk“ den Partitionsnamen herausfinden (in diesem Beispiel „/dev/sdb1“):

sudo fdisk -l

sudo mkfs.ext4 /dev/sdb1

fertig… mit „parted“ im Commandline-Modus kann noch mal geschaut werden, ob alles nach Wunsch ist.

sudo parted -l

Ubuntu 13.04 – ownCloud Client Fehler NO_PUBKEY 977C43A8BA684223 bei apt-get

Nach der Installation des ownCloud Client wird bei der Software-Aktualisierung z.B. über apt-get der folgende Fehler angezeigt:
Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 977C43A8BA684223

wget -O – http://download.opensuse.org/repositories/isv:ownCloud:devel/xUbuntu_13.04/Release.key | sudo apt-key add –

Importiert den öffentlichen Schüssel für das ownCloud Repository bei Open Suse. In diesem Fall für Ubuntu 13.04 – für andere Versionen muss der Pfad entsprechend geändert werden.

 

Ubuntu – SSL Zertifikat erstellen und installieren mit OpenSSL für Apache (Virtuelle Hosts) mit der Zertifizierungssstelle StartCom.org und SNI (Server Name Indication)

Als erstes mittels OpenSSL einen Privaten Schlüssel und die Zertifikat Anforderung erstellen.
Erst erzeuge ich ein brauchbares Verzeichnis und wechsle dort hin (am einfachsten alles als Root).

mkdir /etc/apache2/ssl

cd /etc/apache2/ssl

openssl req -new -nodes -keyout server.key -out server.csr -newkey rsa:4096
oder besser mit SHA256 (auch SHA2 genannt).
Windows XP und Windows Server 2003 Clients könnten hier aber Probleme machen.
openssl req -new -nodes -sha256 -keyout server.key -out server.csr -newkey rsa:4096

Jetzt sollte man bei den nun folgenden Fragen vernünftige Angaben machen, wichtig hierbei ist der Common Name, dieser ist die entsprechende Web-Adresse (s.u.).

Generating a 4096 bit RSA private key
writing new private key to 'server.key'
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
—–
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Hamburg
Locality Name (eg, city) []:Hamburg
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Private
Organizational Unit Name (eg, section) []:.
Common Name (eg, YOUR name) []:www.linux-survival-blog.de
Email Address []:[email protected]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
 

Nun sollten die zwei Dateien server.csr (Zertifikat-Anforderung für die Zertifizierungsstelle) und server.key (Privater Schlüssel, diesen sollte kein anderer zu Gesicht bekommen) im aktuellen Verzeichnis befinden.

Jetzt geht es bei StartCom.org weiter, eine Zertifizierungsstelle die für einfache Zertifikate (Class 1, wie S/MIME (Mail), persönliche Authentifizierung, Web-Server) kostenlose Zertifikate erstellt, die auch mit aktuellen Webbrowsern keine Zertifizierungsfehler melden.

Also anmelden bei StartCom.org, ein persönliches Zertifikat erstellen und in den eigenen Webbrowser importieren. Im Anschluss damit bei StartCom.org einloggen eine Email Adresse und Webseite verifizieren über den Validations Wizard, und nun über den Certificates Wizard das Zertifikat anfordern.

Also Certificates Wizard -> Certificate Target soll Web Server SSL/TSL Certificate sein -> Continue -> Skip (da wir eine CSR-Datei haben) -> aud der jetzt folgenden Seite müssen wir die Daten der server.csr Datei eingeben (am besten über die Zwischenablage.

cat server.csr

—–BEGIN CERTIFICATE REQUEST—–
<TEXT>
—–END CERTIFICATE REQUEST—–
 

Diesen Teil (mit den Begin und End Markierungen) in auf der Web-Seite von StartCom.org eintragen und -> Continue -> Continue -> Domain wählen -> Continue -> Jetzt muss eine Sub-Domain angegeben werden www macht Sinn und dann -> Continue -> die Informationen noch mal durchlesen und -> Continue

Jetzt wird das erzeugte Zertifikat angezeigt, dieses am besten über die Zwischenablage kopieren. Im Verzeichnis /etc/apache2/ssl

nano server.crt

Jetzt den Text rein kopieren -> abspeichern (Strg + o). Und schon haben wir das Zertifikat in der Datei server.crt.

Jetzt noch das intermediate und root Zertifikat von StartCom.org laden.

wget https://www.startssl.com/certs/sub.class1.server.ca.pem
wget https://www.startssl.com/certs/ca.pem

Jetzt noch die Dateisystem Rechte setzen.

chown root:root /etc/apache2/ssl
chmod 0400 /etc/apache2/ssl

Die Zertifikat erzeugung ist damit abgeschlossen. Jetzt muß das ganze noch Apache beigebracht werden.

Im Verzeichnis /etc/apache2/sites-available muss für die entsprechende Seite eine SSL-Konfiguration erstellt werden. Am besten die vorhandene Konfiguration kopieren unter mit neuem Namen (<Sitename-ssl> oder ähnlich) speichern. Jetzt mal die Datei default-ssl im gleichen Verzeichnis anschauen und die <Sitename-ssl> entsprechend bearbeiten.

Der Anfang sollte so aussehen:

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
 

jetzt folgen die Angaben aus der nicht-ssl-Konfigurations Datei

    ServerAdmin [email protected]
    ServerName www.linux-survival-blog.de
    ServerAlias linux-survival-blog.de *.linux-survival-blog.de

    DocumentRoot …
.
.
.

und so weiter und vor </VirtualHost> fügen wir jetzt die Angaben für SSL hinzu.

SSLEngine on
SSLCertificateFile    /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem
SSLCACertificateFile /etc/apache2/ssl/ca.pem

den Abschluss bildet

</VirtualHost>
</IfModule>

Abspeichen, Site aktivieren und Apache neu starten.

a2ensite <Sitename-ssl>
/etc/init.d/apache2 restart

Fertig.

Möchte man mit verschiedenen virtuellen Hosts und entsprechenden Zertifikaten arbeiten, muss noch die Datei /etc/apache2/ports.conf geändert werden um SNI (Server Name Indication) benutzen zu können.

NameVirtualHost *:80

Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    NameVirtualHost *:443
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>
 

Sprich die Zeile NameVirtualHost *:443 wurde eingefügt und schon kann man in den jeweiligen Konfiguartionsdateien der Sites auf verschiedene Zertifikate verweisen.

 

Durch das Fortsetzen der Benutzung dieser Seite, stimmst du der Benutzung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen", um Ihnen das beste Surferlebnis möglich zu geben. Wenn Sie diese Website ohne Änderung Ihrer Cookie-Einstellungen zu verwenden fortzufahren, oder klicken Sie auf "Akzeptieren" unten, dann erklären Sie sich mit diesen.

Schließen