de:server:services:openssh

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
de:server:services:openssh [2022/09/03 00:16] – removed - external edit (Unknown date) 127.0.0.1de:server:services:openssh [2022/10/24 08:24] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== OpenSSH ======
 +
 +OpenSSH (auch bekannt als OpenBSD Secure Shell) ist eine Sammlung von sicheren Netzwerkprogrammen, die auf dem Secure Shell (SSH)-Protokoll basieren, das einen sicheren Kanal über ein ungesichertes Netzwerk in einer Client-Server-Architektur bereitstellt.
 +
 +OpenSSH begann als ein Fork des freien SSH-Programms, das von Tatu Ylönen entwickelt wurde; spätere Versionen von Ylönens SSH waren proprietäre Software, die von SSH Communications Security angeboten wurde. OpenSSH wurde erstmals 1999 veröffentlicht und wird derzeit als Teil des OpenBSD-Betriebssystems entwickelt.
 +
 +Bei OpenSSH handelt es sich nicht um ein einzelnes Computerprogramm, sondern vielmehr um eine Reihe von Programmen, die als Alternative zu unverschlüsselten Protokollen wie Telnet und FTP dienen. OpenSSH ist in mehrere Betriebssysteme integriert, nämlich Microsoft Windows, macOS und die meisten Linux-Betriebssysteme, während die portable Version als Paket in anderen Systemen verfügbar ist.
 +
 +
 +===== Paket=====
 +
 +<code>
 +pacman -S openssh
 +</code>
 +
 +
 +===== Start/Neustart =====
 +
 +
 +<code>
 +systemctl enable --now sshd.service
 +</code>
 +
 +<alert type="info" icon="fa fa-info">Denk dran, dass jede Änderung an ''/etc/ssh/sshd_config'' einen Neustart des Dienstes erfordert.</alert>
 +<code>
 +systemctl restart sshd.service
 +</code>
 +
 +
 +===== Root- und Passwort-Authentifizierung zulassen =====
 +
 +Wenn man einen schnellen Zugang benötigt, zum Beispiel um den Server einzurichten.
 +
 +<code>
 +nano /etc/ssh/sshd_config
 +</code>
 +<code>
 +Port 22
 +PermitRootLogin yes
 +PasswordAuthentication yes
 +</code>
 +
 +
 +===== SSH Schlüssel=====
 +
 +Dies ist nicht nur sicherer, sondern erleichtert auch die Verbindung zum Server, ohne dass man jedes mal das Passwort eingeben muss.
 +
 +==== Konfiguration - Server ====
 +
 +<code>
 +nano /etc/ssh/sshd_config
 +</code>
 +<code>
 +Port 22
 +HostKey /etc/ssh/ssh_host_ed25519_key
 +PermitRootLogin no
 +PubkeyAuthentication yes
 +PasswordAuthentication no
 +PermitEmptyPasswords no
 +</code>
 +
 +
 +==== Schlüssel erstellen - Desktop ====
 +
 +Ob man eine Passphrase verwendet oder nicht, hängt davon ab, wie man die Infrastruktur nutzen will und ob eine zusätzliche Sicherheitsebene gewünscht/benötigt wird. Zum Beispiel kann keepassxc Passphrasen verarbeiten und den Schlüssel dem SSH-Agenten für automatische Verbindungen hinzufügen.
 +
 +<code>
 +ssh-keygen -t ed25519
 +</code>
 +
 +Kopiere den Inhalt von ''id_ed25519.pub'' für den Server. 
 +
 +<code>
 +cat ~/.ssh/id_ed25519.pub
 +</code>
 +
 +=== Host hinzufügen - Desktop ===
 +
 +Ändere ''$USER'' und ''$SERVERIP''.
 +
 +<code>
 +nano .ssh/config
 +</code>
 +<code>
 +Host server
 +    HostName $SERVERIP
 +    Port 22
 +    User $USER
 +    IdentitiesOnly yes
 +    IdentityFile "~/.ssh/id_ed25519"
 +</code>
 +
 +=== Pub-Schlüssel hinzufügen - Server ===
 +
 +Füge den Inhalt von ''id_ed25519.pub'' zu ''authorized_keys'' hinzu.
 +
 +<code>
 +cd
 +mkdir .ssh
 +chmod 700 .ssh
 +touch .ssh/authorized_keys
 +chmod 600 .ssh/authorized_keys
 +nano .ssh/authorized_keys
 +</code>
 +
 +
 +==== SSH-Agent - Desktop ====
 +
 +<code>
 +mkdir -p ~/.config/systemd/user/
 +nano ~/.config/systemd/user/ssh-agent.service
 +</code>
 +<code>
 +[Unit]
 +Description=SSH key agent
 +
 +[Service]
 +Type=simple
 +Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
 +ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
 +
 +[Install]
 +WantedBy=default.target
 +</code>
 +<code>
 +systemctl --user enable ~/.config/systemd/user/ssh-agent.service
 +systemctl --user start ssh-agent.service
 +</code>
 +
 +<alert type="info" icon="fa fa-info-circle">Ein Neustart kann notwendig sein, wenn keepassxc eine Fehlermeldung wie "No agent running, cannot add identity" ausgibt.</alert>
 +