Diese Tipps gäbe es nicht, falls nicht Martin Leyrer in den Gulasch Nächten Talks halten würde (siehe leyrer bei media.cc.de für eine Auswahl). Meinen respektvollen Dank dafür.
Ich werde den Inhalt der Talks nicht schriftlich wiederkäuen, sondern letztendlich einen "Spickzettel" für mich erstellen, um mich an die notwendigen Parameter zu erinnern. Also das Durcharbeiten des Talks Besser leben mit ssh aus dem Mai 2022 ist Voraussetzung.
Mann kann es nicht besser machen als der Leyrer, also lediglich vier Anmerkungen zu absonderlichen Spezialfällen:
- Ist der ssh Server aus dem Internet erreichbar, ist es sinnvoll einen Nutzernamen zu wählen, der nicht in einem Wörterbuch steht. Meine haben dann mehr als 12 Zeichen und Buchstaben und Sonderzeichen. Ja, der Nutzername. Und dann ist die .ssh/config wirklich hilfreich.
- Wer einen Server bei "Hetz-mich-nicht" hat, der muss eventuell den ssh client auf einen anderen Port als 22 nutzen. Da ssh die Notation "server.de:22" nicht mag, sondern "-p 22 server.de", baut man in der .ssh/config als Standard die Zeile "Port 22" nach "HostName" ein, um sich daran zu erinnern wie es geht, falls man nicht den Standard-Port nutzt.
- Läuft der ssh-Server auf einem Rechner mit GUI, mag man vielleicht auch Programme via X-Fowarding nutzen. Das kann man in der .ssh/config auch einbringen, dann vergisst man es nicht mehr. "ForwardX11 yes" und "ForwardX11Trusted yes" erledigen den Trick.
- Eine, wahrscheinlich völlig unzureichende Lösung, falls "ssh-add .ssh/id_xyz" den Fehler ergibt, man könne nicht verbinden, ist es den ssh-agent in der shell zu evaluieren. Dazu füge ich auf den betreffenden Rechnen in der .bashrc am Ende die folgende Zeile hinzu "eval $(ssh-agent) >> /dev/null"
Folgend mein "Spickzettel", der auf meinen Rechnern als README.txt in ".ssh/" liegt:
HowTo & Best Practice Schlüssel anlegen, auf den Server kopieren, ssh-add ...
Anlegen:
ssh-keygen -t ed25519 -a 42 -f .ssh/id_README_ed25519 -C 'Users key 4 README'
Auf den Server kopieren:
ssh-copy-id -i .ssh/id_README_ed25519.pub -p 22 user@README.org
Config Bearbeiten:
kate|vi .ssh/config
mit
/***
Host README
HostName README.org
Port 22
User name#1234567_unerkannt-geblieben
ForwardX11 no|yes
ForwardX11Trusted no|yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_README_ed25519
Host *
IdentitiesOnly yes
UseRoaming no
SendEnv Lang LC_*
Compression yes
***/
Append to .bashrc für ssh-add:
eval $(ssh-agent) >> /dev/null
Schlüssel-Passwort in den ssh-agent laden:
ssh-add .ssh/id_README_ed25519
Schlüssel im Speicher anzeigen:
ssh-add -l