SSH: Unterschied zwischen den Versionen

Aus MK Wiki DE
Zur Navigation springen Zur Suche springen
K (9 Versionen importiert: Import von michigreat.a.wiki-site.com)
 
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 13: Zeile 13:
Dies erzeugt den privaten Schlüssel (id_rsa) der unbedingt am Client verbleiben muss sowie den öffentlichen Schlüssel (id_rsa.pub) der zu den Servern hochgeladen werden soll, auf denen man die Passwortabfrage vermeiden möchte.
Dies erzeugt den privaten Schlüssel (id_rsa) der unbedingt am Client verbleiben muss sowie den öffentlichen Schlüssel (id_rsa.pub) der zu den Servern hochgeladen werden soll, auf denen man die Passwortabfrage vermeiden möchte.


==== Mauelle Installation ====
==== Manuelle Installation ====


Wenn bspw. der Befehl ssh-copy-id nicht verfügbar ist oder man das Übertragen manuell durchführen möchte (bspw. Lerneffekt), so geht man folgendermaßen vor:
Wenn bspw. der Befehl ssh-copy-id nicht verfügbar ist oder man das Übertragen manuell durchführen möchte (bspw. Lerneffekt), so geht man folgendermaßen vor:
Zeile 28: Zeile 28:
Es gibt auch die Möglichkeit, den Schlüssel mit dem Befehl "ssh-copy-id" zum Server zu übertragen:
Es gibt auch die Möglichkeit, den Schlüssel mit dem Befehl "ssh-copy-id" zum Server zu übertragen:


* '''Client:''' ssh-copy-id -i ~/.ssh/id_rsa.pub remotehost -p''Port''
* '''Client:''' ssh-copy-id remotehost -p''Port''


Die Angabe des Ports ist notwendig, wenn der SSH-Dienst auf einem Port abweichend von 22 läuft, andernfalls kann sie wegfallen. Nach Eingabe dieses Befehls wird das Passwort abgefragt, danach wird der öffentliche Schlüssel am Server installiert.
Die Angabe des Ports ist nur notwendig, wenn der SSH-Dienst auf einem Port abweichend von 22 läuft. Nach Eingabe dieses Befehls wird das Passwort abgefragt, danach wird der öffentliche Schlüssel am Server installiert. Wenn der öffentliche Schlüssel nicht unter <code>~/.ssh/id_rsa.pub</code> abgespeichert ist, muss er mittels Parameter <code>-i</code> angegeben werden.


Credits: [http://opensourceforgeeks.blogspot.co.at/2016/03/performing-ssh-login-without-password.html Performing ssh login without password using ssh-keygen and ssh-copy-id]
Credits: [http://opensourceforgeeks.blogspot.co.at/2016/03/performing-ssh-login-without-password.html Performing ssh login without password using ssh-keygen and ssh-copy-id]
Zeile 50: Zeile 50:
* [http://troy.jdmz.net/rsync/index.html Using Rsync and SSH]
* [http://troy.jdmz.net/rsync/index.html Using Rsync and SSH]
* [https://www.digitalocean.com/community/tutorials/how-to-copy-files-with-rsync-over-ssh How To Copy Files With Rsync Over SSH]
* [https://www.digitalocean.com/community/tutorials/how-to-copy-files-with-rsync-over-ssh How To Copy Files With Rsync Over SSH]
== Dateiübertragung ==


=== Dateien kopieren mit scp ===
=== Dateien kopieren mit scp ===
Zeile 59: Zeile 61:


Funktioniert natürlich ohne Passworteingabe (siehe oben) am besten.
Funktioniert natürlich ohne Passworteingabe (siehe oben) am besten.
Die Dateiangaben können auch Jokerzeichen enthalten. Beispiel:
scp root@somehost:/var/log/syslog* .
=== SSH-Dateisystem mit sshfs mounten ===
sshfs -o allow_other,default_permissions,IdentityFile=~/.ssh/id_rsa user@host:/remotedir /localdir


[[Kategorie:Linux]]
[[Kategorie:Linux]]

Aktuelle Version vom 15. Juli 2023, 11:01 Uhr

Tipps & Tricks zu SSH

Anmeldung ohne Passwort

Besonders genial für Automatisierung von Aufgaben. Außerdem kann der Wegfall der Passworteingabe auch als Sicherheitsgewinn gesehen werden: schließlich kann das eingegebene Passwort jemand abschauen oder bspw. über Sicherheitskameras abfilmen. Wird kein Passwort eingegeben, entfällt dieses Problem.

Generieren eines Schlüsselpaars

Falls die Datei ~/.ssh/id_rsa.pub beim Client noch nicht existiert, kann sie mit dem Befehl ssh-keygen erstellt werden:

  • Client: ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -P ""

Dies erzeugt den privaten Schlüssel (id_rsa) der unbedingt am Client verbleiben muss sowie den öffentlichen Schlüssel (id_rsa.pub) der zu den Servern hochgeladen werden soll, auf denen man die Passwortabfrage vermeiden möchte.

Manuelle Installation

Wenn bspw. der Befehl ssh-copy-id nicht verfügbar ist oder man das Übertragen manuell durchführen möchte (bspw. Lerneffekt), so geht man folgendermaßen vor:

  • Client: cat ~/.ssh/id_rsa.pub
  • Server: touch ~/.ssh/authorized_keys
  • Server: chmod 0644 ~/.ssh/authorized_keys
  • Server: $EDITOR ~/.ssh/authorized_keys

Beim letzten Befehl muss die Ausgabe von "cat" am Client eingefügt werden. Von diesem Moment an entfällt die Passwortabfrage durch SSH beim Verbinden.

Automatische Installation

Es gibt auch die Möglichkeit, den Schlüssel mit dem Befehl "ssh-copy-id" zum Server zu übertragen:

  • Client: ssh-copy-id remotehost -pPort

Die Angabe des Ports ist nur notwendig, wenn der SSH-Dienst auf einem Port abweichend von 22 läuft. Nach Eingabe dieses Befehls wird das Passwort abgefragt, danach wird der öffentliche Schlüssel am Server installiert. Wenn der öffentliche Schlüssel nicht unter ~/.ssh/id_rsa.pub abgespeichert ist, muss er mittels Parameter -i angegeben werden.

Credits: Performing ssh login without password using ssh-keygen and ssh-copy-id

Beispiel mit rsync

Backup über rsync erstellen und aktualisieren:

rsync --exclude="*Photos*" -avz -e "ssh -i my-ssh-key -6 -p2222" /home/someuser remoteuser@remotehost:/bak/home
  • --exclude: Hier kann man einen Filter angeben der verhindert, dass Objekte, die dem Filter entsprechen, vom Synchronisieren ausgeschlossen werden. Dieser Parameter kann mehrmals angegeben werden.
  • -6: Baut die Verbindung über IPv6 auf
  • -p2222: Verbindet mit Port 2222 auf dem entfernten Host
  • /home/someuser: Lokales Verzeichnis, das gesichert werden soll
  • /bak/home: Zielverzeichnis auf entferntem Host - dort sollte das Verzeichnis "/bak/home/someuser" existieren

Webverweise

Dateiübertragung

Dateien kopieren mit scp

scp -PPort localfile user@remotehost:remotefile
scp -PPort -r user@remotehost:remotefile/* .

Wichtig: Die Portangabe muss als erste Option stehen! Abweichend von "ssh" wird ein großes P verwendet!

Funktioniert natürlich ohne Passworteingabe (siehe oben) am besten.

Die Dateiangaben können auch Jokerzeichen enthalten. Beispiel:

scp root@somehost:/var/log/syslog* .

SSH-Dateisystem mit sshfs mounten

sshfs -o allow_other,default_permissions,IdentityFile=~/.ssh/id_rsa user@host:/remotedir /localdir