Filesharing ueber SSH: Unterschied zwischen den Versionen

Aus Weimarnetz Wiki
Zur Navigation springen Zur Suche springen
K (→‎Umsetzung: typo)
K (→‎Umsetzung: +serverstruktur)
Zeile 10: Zeile 10:
 
Es gibt eine zentrale Instanz, ein Rechner im Internet mit schneller Anbindung und am besten ohne Traffic-Beschraenkung - wir nennen ihn "Z".
 
Es gibt eine zentrale Instanz, ein Rechner im Internet mit schneller Anbindung und am besten ohne Traffic-Beschraenkung - wir nennen ihn "Z".
 
Es gibt Leute die Bock drauf haben, namentlich Alice, Bob und Carol (A,B und C).
 
Es gibt Leute die Bock drauf haben, namentlich Alice, Bob und Carol (A,B und C).
 +
 +
===Umsetzung beim Teilnehmer===
  
 
A erstellt einen Benutzer 'freigabe', der auf die Freigabe lesend zugreifen kann und kopiert dessen oeffentlichen SSH-Schluessel auf Z:
 
A erstellt einen Benutzer 'freigabe', der auf die Freigabe lesend zugreifen kann und kopiert dessen oeffentlichen SSH-Schluessel auf Z:
Zeile 19: Zeile 21:
 
  ssh-copy-id -i $HOME/.ssh/id_rsa.pub '-p 22 freigabe@Z'        # oder per Mail an Z-Admin senden ("$HOME/.ssh/id_rsa.pub")
 
  ssh-copy-id -i $HOME/.ssh/id_rsa.pub '-p 22 freigabe@Z'        # oder per Mail an Z-Admin senden ("$HOME/.ssh/id_rsa.pub")
 
                                                                 # oder einfach auf dieser Seite eintragen (unten)
 
                                                                 # oder einfach auf dieser Seite eintragen (unten)
 +
 +
===Umsetzung auf dem Server===
  
 
Der Admin auf Z traegt es bei "vertrauenswuerdigen Schluesseln" ein:
 
Der Admin auf Z traegt es bei "vertrauenswuerdigen Schluesseln" ein:
Zeile 30: Zeile 34:
  
 
  OPTIONS="-o idmap=user -o uid=$(id -u) -o gid=$(id -g) -o ServerAliveInterval=15"
 
  OPTIONS="-o idmap=user -o uid=$(id -u) -o gid=$(id -g) -o ServerAliveInterval=15"
  sshfs mediathek@141.54.160.24:Media/ -p 22 $OPTIONS $HOME/Desktop/freigabe_all/
+
  sshfs mediathek@141.54.160.24:freigabe/ -p 22 $OPTIONS $HOME/Desktop/freigabe_all/
 +
 
 +
Auf dem Server gibt es diese Struktur:
 +
 
 +
$HOME/freigabe/
 +
$HOME/freigabe/alice/
 +
$HOME/freigabe/bob/
 +
$HOME/freigabe/carol/
  
 
===Probleme===
 
===Probleme===

Version vom 15. September 2009, 17:25 Uhr

Idee

Jeder hat einen Rechner der eigentlich 24h am Tag laeuft und irgendwie am Internet haengt. Es gibt einen Bereich auf dem Datentraeger, den man gerne freigeben bzw. teilen moechte. Ausserdem moechte man auch auf die Freigaben der Anderen zugreifen. Moeglichst sicher und ziemlich privat sollte es auch sein, ausserdem einfach zu pflegen.

Umsetzung

Es gibt eine zentrale Instanz, ein Rechner im Internet mit schneller Anbindung und am besten ohne Traffic-Beschraenkung - wir nennen ihn "Z". Es gibt Leute die Bock drauf haben, namentlich Alice, Bob und Carol (A,B und C).

Umsetzung beim Teilnehmer

A erstellt einen Benutzer 'freigabe', der auf die Freigabe lesend zugreifen kann und kopiert dessen oeffentlichen SSH-Schluessel auf Z:

sudo adduser freigabe
ssh freigabe@localhost
test -e $HOME/.ssh/id_rsa.pub || ssh-keygen -t rsa -b 2048     # passphrase muss leer sein!
ssh-copy-id -i $HOME/.ssh/id_rsa.pub '-p 22 freigabe@Z'        # oder per Mail an Z-Admin senden ("$HOME/.ssh/id_rsa.pub")
                                                               # oder einfach auf dieser Seite eintragen (unten)

Umsetzung auf dem Server

Der Admin auf Z traegt es bei "vertrauenswuerdigen Schluesseln" ein:

ssh freigabe@Z
cat >>$HOME/.ssh/authorized_keys <<EOF
${kopieren_und_einfuegen_des_schluessels_aus_dem_wiki}
>>EOF

Nun kann also A das Dateisystem von Z (alles was der Benutzer 'freigabe' sieht) bei sich transparent einhaengen:

OPTIONS="-o idmap=user -o uid=$(id -u) -o gid=$(id -g) -o ServerAliveInterval=15"
sshfs mediathek@141.54.160.24:freigabe/ -p 22 $OPTIONS $HOME/Desktop/freigabe_all/

Auf dem Server gibt es diese Struktur:

$HOME/freigabe/
$HOME/freigabe/alice/
$HOME/freigabe/bob/
$HOME/freigabe/carol/

Probleme

wie loest man am elegantesten, das der benutzer freigabe nur lesend auf die dateien zugreifen kann?

oeffentliche SSH-Schluessel

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAp9Tzocu0z6UffKvmTJKfpwISkjKNeDTGGixcZMl35QT/FoIMKq3t+9l/J+uVKpyVhEHTaChoHWNBI+THH2s5yyWxLnNOt12csl0N7s55GyBh0r+Ykm9TzPJ2YNNw/cRglmC+XS9TcH7t0YLSRRW0zRmsCcXyBA3qJ51ENejGKBH+xk9XenE82jTFEHe1guY4/YXmFLTgKjUZYmqhkEIQIbX8XHwrlJwoHW4ByGC8MyaPbmmi2Jo/r5AxF37UhnWje0esL7a5n1bLwcOoCHHDSdA7WFVW9HBr5M4dRhecXWtzX52rMneCzlcIde2vhsWWCJ4WNxeUKmCrKqXgmUINxw== freigabe@basti