====== ssh ======
//ssh// ist ein Programm bzw. eine Sammlung von Programmen für das [[lexikon:ssh|gleichnamige, sichere Netzwerkprotokoll SSH]].
===== ssh unter macOS einrichten =====
Auf macOS sind standardmäßig alle nötigen Werkzeuge für SSH installiert, sie müssen jedoch vom Nutzer eingerichtet werden.
==== SSH-Schlüssel erzeugen ====
Zu Beginn wird ein SSH-Schlüssel bzw. -Schlüssel-Paar (bestehend aus einem sog. Public- und einem Private-Key) benötigt. Dies geschieht mittels des Programms ''ssh-keygen'':
ssh-keygen -C "you@example.com"
Nun nur noch den Anweisungen folgen.
Das Attribut ''-C'' mit der eigenen E-Mail-Adresse sorgt dafür, dass dem Schlüssel eine vernünftige Identität zugewiesen wird und nicht bloß eine E-Mail-Adresse die aus dem Schema //Nutzer@Computer// folgt, bspw. ''you@MacBook.fritz.box''.
Das erzeuge Schlüssel-Paar liegt nun im Benutzer-Verzeichnis im versteckten Ordner ''.ssh''. Der Public-Key, mit der Datei-Endung ''.pub'' kann nun weitergegeben werden (z. B. für [[github|GitHub]] oder [[uberspace|Uberspace]] ) und funktioniert quasi als "Schlüsselloch" für den Private-Key. **Der Private-Key darf unter keinen Umständen weitergegeben oder veröffentlicht werden!**
==== SSH-Schlüssel dem System bekannt machen ====
Das Erstellen der Schlüssel sorgt leider nicht dafür, dass dem System, genauer dem sog. ''ssh-agent'', der Schlüssel auch bekannt ist und ihn verwendet. Dazu ist ein weiterer Schritt nötig:
ssh-add ~/.ssh/id_rsa
Das Programm ''ssh-add'' fügt den //Private-Key// dem ''ssh-agent'' hinzu, sodass dieser bei Verbindungen über ''ssh'' genutzt wird.
Eine Liste der aktiven Schlüssel lässt sich über folgenden Befehl anzeigen:
ssh-add -l
==== Links ====
Linkliste mit weiteren Infos und Tipps:
* [[https://www.funkenstrahlen.de/blog/2013/06/05/mehrere-ssh-keys-verwalten/|Funkenstrahlen: Mehrere SSH Keys verwalten]]
* [[https://blog.effenberger.org/2016/09/27/ssh-agent-unter-macos-sierra-nutzen/|Florian Effenberger: ssh-agent unter macOS Sierra nutzen]]
===== SSH-Konfigurationsdatei ====
[[http://osxdaily.com/2011/04/05/setup-ssh-config-fie/|OSX Daily: Setup an SSH config file]]
===== Ordner kopieren =====
Um ganze Ordner mittels ''scp'' zu kopieren, muss einfach das Attribut ''-r'' eingefügt werden:
scp -r ~/foo user@host:~/foo