Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:technik:ssh

IndexDeutschTechnikSSH

SSH

Hier sind ein paar nützliche Tipps und Notizen für SSH zusammen gefasst.

SSH Server

Installation

Installiere den Server:

sudo apt-get install openssh-server

Aktiviere und starte den Server:

sudo systemctl enable sshd
sudo systemctl start sshd

Die Konfiguration des SSH-Servers sshd findet über die Datei /etc/ssh/sshd_config statt.

  • setze PermitRootLogin no um das einloggen als Root zu deaktivieren
  • zusätzlich kann später noch PasswordAuthentication no eingetragen werden

Nach einer Änderung der sshd_config muss der Server neugestartet werden:

sudo systemctl restart sshd

Public-Key login

Den Key generieren

Die SSH Keys werden standardmäßig in ~/.ssh als id_rsa und id_rsa.pub gespeichert. Wenn diese Dateien schon da sind, dann hast du wahrscheinlich bereits die Keys generiert.

Generiere den Key

ssh-keygen -t rsa -b 4096

Den Key hinzufügen

Jetzt muss der Public Key, welchen wir eben in der Datei ~/.ssh/id_rsa.pub erstellt haben noch in Github/Gitlab und falls man auf einem anderen Server, auch auf diesem eingestellt werden.

ssh-copy-id

Zu diesem Zeitpunkt muss die Authentifizierung per Passwort noch erlaubt sein (PasswordAuthentication yes):

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

Key ueber SSH kopieren

Zu diesem Zeitpunkt muss die Authentifizierung per Passwort noch erlaubt sein (PasswordAuthentication yes):

cat ~/.ssh/id_rsa.pub | ssh user@server "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

Key Manuell kopieren

Zu diesem Zeitpunkt muss die Authentifizierung per Passwort noch erlaubt sein (PasswordAuthentication yes):

Key bekommen:

cat ~/.ssh/id_rsa.pub

Den Output davon kopieren.

Auf dem Server den Ordner .ssh erstellen:

mkdir ~/.ssh

Den Public Key dann in die Datei ~/.ssh/authorized_keys schreiben. Wie man das tut, kann man selbst entscheiden.

Zuletzt noch die Permissions fuer den .ssh Ordner setzen:

chmod -R go= ~/.ssh

Github / Gitlab

~/.ssh/config

In dieser Datei kann man Voreinstellungen für ssh einstellen.

Um einen Alias zu erstellen um einfacher auf den Server zuzugreifen muss folgendes für jeden Server eingetragen werden:

Host server-alias-name
	HostName 192.168.178.30
	Port 1234
	User username
	IdentityFile ~/.ssh/id_rsa

IdentityFile gibt an welcher SSH Key verwendet werden soll.

Jetzt kann man sich via ssh server-alias-name mit dem SSH Server username@192.168.178.30 verbinden.

de/technik/ssh.txt · Zuletzt geändert: 2019/03/31 18:54 von jojo