Datenaustausch über Netzwerk mit OpenSSH und WinSCP

Willkommen!

Wenn du im Nexave-Forum mitmachen möchtest, schreib an community@nexave.de. Wir haben die Registrierungsfunktion in unserem Diskussionsforum nämlich deaktiviert, weil sich praktisch nur noch Spammer und Werbebots registriert haben. Per E-Mail sind wir dir gern behilflich, einen Account anzulegen.
  • Da ja schon diverse Anfragen in dieser Richtung eingingen und die Wirklich gute und Ausführliche Dokus zu dem Thema
    im Netz scheinbar nicht ausreichen, habe ich mich mal aufgerafft ein kleines Step by Step ToDo in Deutsch zu erstellen.
    Auf Deutsch, eine Anleitung ;)


    Vorraussetzung ist, das man Preware verwendet und auch vor Quickinstall keine Scheu hat.


    Benötigt werden
    Aus Preware:
    OpenSSH
    OpenSSH SFTP Server


    Aus dem Netz:
    puttygen.exe
    WinSCP
    Putty.exe wer will, ist ein hervorragender Terminal Client für Windows


    Am besten besorgt man sich alles zuerst, die beiden Packete installiert man mit Preware, Putty und WinSCP findet man im Internet (Freeware)
    Putty sind beides *.exe Files die direckt gestartet werden, WinSCP muß dann auf dem WIndowsrechner noch installiert werden.


    Wenn man die zwei Preware Programme installiert, die eventuell benötigten Packete bitte mit installieren. Dann den Pre am besten neustarten.


    Beim Pre ist das Password Login per default gesperrt, deshalb benötigen wir ein Keyfile, das erstellen wir jetzt mit puttygen.exe.
    Das Programm starten:


    [Blockierte Grafik: http://www.vicom.de/pre/Putty-KeyGen2.jpg]


    Hier sind die default einstellung schon mal in Ordnung, wir brauchen einen SSH-2 RSA Key, einzig, we etwas höhere Sicherheitsansprüche hat
    kann Natürlich "Number of bits in a generated key" von 1024 auf 2048 erhöhen.
    Wir drücken auf "Generate"


    [Blockierte Grafik: http://www.vicom.de/pre/Putty-KeyGen3.jpg]


    An dem grünen Balken kann man sehen wie der Key erstellt wird, dazu müssen wir die Maus auf dem leeren Feld darunter etwas hin und her
    bewegen.


    fertig:
    [Blockierte Grafik: http://www.vicom.de/pre/Putty-KeyGen5.jpg]


    In das Feld "Key passphrase" und "Confirm passphrase" tragen wir jetzt noch ein Password ein. Das wird benötigt um später den Schlüssel
    zu benutzen. Man kann diese auch weglassen, allerdings sollte man bedenken das jeder mit diesem File später zugriff auf den Pre hat.
    Und einen Digitalen Diebstahl bemerkt man leider nicht wie den fehlenden Schlüssel am Schlüsselbrett.


    Jetzt speichern wir den Privaten Schlüssel für die spätere Verwendung:
    [Blockierte Grafik: http://www.vicom.de/pre/Putty-KeyGen6.jpg]


    die endung ppk solle man beibehalten, erleichtert die spätere einbindung, name ist egal, ich nenne in hier mal private.ppk


    Anschliessend markieren wir den gesammten Schlüssel von ssh-rsa bis zum rsa-key-xxxx in dem Fenster oben und kopieren den in den
    Windows zwischenspeicher (rechtsklick -> kopieren, oder <strg> + c).


    Jetzt schalten wir am Pre, wenn er den hoffendlich fertig mit seinem reboot ist ;), den Dev Mode ein und stecken in ans USB.
    Quickinstall starten und unter Tools Linux Commandline aufrufen.


    Wir müssen jetzt noch den public Key auf den Pre eintragen. SSH verwendet dazu ein file "authorized_keys". Wichtig ist das der Key ohne
    veränderungen in dieses File geschrieben wird und die Rechte auf rw user only stehen, also "Niemand" sonst dieses lesen oder verändern
    kann.
    Mit echo kann man etwas ausgeben, echo "Hallo Welt" z.b. auf dem Dos, diese Ausgabe kann man mit > umleiten, also direckt in eine Datei
    schreiben (existiert sie nicht, wird sie erstellt), mit > wrd der Inhalt überschrieben, mit >> angehängt.
    Die Linux Commandline unterstützt leider kein Windows rechtsklick, einfügen, weshalb wir hier <strg> + v verwenden müssen.


    edit: Da entgegen meiner Annahme das dir .ssh scheinbar nicht Automatisch erzeugt wird, müssen wird dieses vor dem
    Key Übertrag erstellen. Dazu in der Linux Commandline ein:
    mkdir /var/home/root/.ssh
    ausführen und dann weiter im text.


    Man geht also zuerst in das Fenster vom Putty Key Generator, markiert dort den Key, führt ein <strg> + c aus, wechselt dann wieder in
    das Fenster der Linux Commandline und tippt dann
    echo "<strg> + v" > /var/home/root/.ssh/authorized_keys
    Anstelle des <strg> + v steht natürlich der Key, copy/paste, also steht in der Zeile soetwas wie
    echo "ssh-rsa AAAABN........TW== rsa-key-200100505" > /var/home/root/.ssh/authorized_keys


    Wichtig ist hier das der gesammte Key in "" eingeschlossen ist, das folgende leerzeichen, das > zum umleiten, leerzeichen und dann der
    vollständige Pfad zur Datei (wird dabei erstellt). Mit Enter natürlich abschliessen.
    Jetzt müssen noch die Zugriffsrechte korigiert werden, weil diese bestimmt auf 644 stehen.
    Also nochmal in die Commandline eintippen
    chmod 600 /var/home/root/.ssh/authorized_keys


    fetich, wir haben jetzt auf dem Pre OpenSSH und SFTP installiert, spätestens seit dem reboot läuft nun der sshd, für den user root
    haben wir jetzt unseren public Key in authorized_keys eingetragen und wir wissen hoffendlich noch wo unser Private Key liegt,
    sowie das Password.


    Auf ans Verbinden ;), ich beschränke mich hier mal auf WinSCP, Filezilla sollte sich ähnlich verhalten.
    Weiter verwenden wir hier die IP, das setzt vorraus das beide Rechner sich über diese IP erreichen können, etwas kompliziert
    ausgedrückt, aber wenn beide, Pre und Rechner im Wlan sind sollte das so gehen. Wenn der Pre im Wlan ist und der Rechner
    sich im Lan aufhält braucht man eventuell ein Portforward, die einstellungen dazu stehen in der jeweiligen Doku des APs ;)


    Wir starten WinSCP und es öffnet sich das WinSCP Anmeldungs Fenster. Dort gehen wir auf "Neu"


    [Blockierte Grafik: http://www.vicom.de/pre/winscp2.jpg]


    Dort tragen wir unter Rechnername dann die IP des Pre ein, Benutzername root und unter "Datei mit privatem Schlüssel"
    wählen wir unseren zuvor abgespeicherten private.ppk aus.
    Damit wir auf dem Pre dann auch gleich an der richtigen Stelle landen (USB Laufwerk) gehen wir noch auf Verzeichnisse
    links in der Umgebung.


    [Blockierte Grafik: http://www.vicom.de/pre/winscp3.jpg]


    Dort tragen wir dann noch unter "entferntes Verzeichnis" /media/internal ein. Wer will kann natürlich auch das
    Häckchen bei "Letztes Verzeichnis merken" setzen, dann merkt sich WinSCP das jeweils Letzte Verzeichnis und
    wechselt beim erneuten Verbinden wieder dorthin.


    Jetzt das ganze "Speichern" und dabei eventuell einen Namen vergeben. Dort den anschliessenden Doppelklick
    auf diesen Namen verbindet sich WinSCP dann mit dem Pre, man wird aufgefordet das Password einzugeben
    (das Password welches man bei der Keygererierung verwendet hat) und ... bin ich den schon drin ;))


    viel Spaß und ich hoffe mal das der eine oder andere damit etwas besser zurecht kommt.
    Ich kann leider nicht sagen wie lange ich die Bilder so zur verfügung stellen kann, wenn sich also jemand
    dazu berufen fühlt das ganze Textlich auch etwas aufzuarbeiten und die Bildchen will, mail me, alles
    freeware auch die Anleitung ;)


    Vielleicht auch ein nettes Projekt für einen unterbeschäftigten Programmierer ;) eine kleine App welche
    das authorized_keys file aus z.b. dem gespeichertem public.key erstellen kann?
    Dann könnte man sich den schritt mit Quickinstall sparen.
    Meine Fähigkeiten reichen dazu leider nicht aus und mich da jetzt mal halbherzig einzulesen fehlt mir
    die Zeit.


    Edit: das ganze geht auch über Bluetooth, sofern der Rechner/Notebook das Nap nutzen kann, das war die
    Möglichkeit über den Pre mit Bluetooth z.b. die Datenverbindung oder sogar das Wlan zu nutzen.
    Bei bedarf kann ich das noch ergänzen, ist eigendlich sehr praktisch wenn man unterwegs vom Notebook
    zum Pre ...


    Edit2: Zugang über Bluetooth und mit dem Wlan Hotspot.
    Vor dem Wlan Hotspot gab es auf dem Pre schon die Möglichkeit mit Bluetooth NAP die Netzverbindungen
    zu sharen. Da im Startscript von OpenSSH aber sich die Filterregeln nur auf eth0 beziehen geht darüber
    normalerweise kein ssh oder scp.
    Für die kundigen also, in /etc/event.d/mobi.optware.openssh muß man das "-i eth0" entfernen, dann
    kann man künftig auch bei bestehender Bluetooth Verbindung den Pre über die IP 10.1.1.11 erreichen.
    Beim Wlan Hotspot muß man die IP der Datenverbindung verwenden.


    Für die ganz mutigen, man kann auch dem root auf dem Pre ein Password vergeben, das hat keinen einfluß
    auf das System, von der Konsole oder direckt am Gerät braucht man trotzdem keines. Das hat nur auswirkung
    auf das login über Netz.
    Wenn man jetzt noch die Option PasswordAuthentication auf yes setzt sowie das -o "PermitRootLogin without-password"
    entfernt gehts künftig auch ohne key nur mit Password. Das sollte deshalb natürlich einigermassen gehärtet sein.


    Eine genauere Beschreibung wie, spare ich mir hier, da das sowieso nur Leute machen sollten die sich auf so
    einem System zurechfinden, man sollte zumindest mit einem Editor zurechtkommen (vi) sowie wissen wie man
    das root filesystem rw setzt und keine Angst vorm Doctor haben ;)

  • Hallo,
    danke für die Anleitung. Bin immer froh wenn ich mich nicht auf Englisch herumschlagen muss. :)
    Leider bin ich trotzdem nicht weiter gekommen. Nach Eingabe in der Linux Commandline von Quickinstall kommt die Meldung, dass er das Verzeichnis nicht anlegen kann.
    Was kann der Fehler sein? Auch ist mir der PublicKey nicht ganz klar. Ist das derselbe wie private oder soll ich einen neuen generieren?


    LG Buffi

  • Hallo,
    danke für die Anleitung. Bin immer froh wenn ich mich nicht auf Englisch herumschlagen muss. :)
    Leider bin ich trotzdem nicht weiter gekommen. Nach Eingabe in der Linux Commandline von Quickinstall kommt die Meldung, dass er das Verzeichnis nicht anlegen kann.
    Was kann der Fehler sein? Auch ist mir der PublicKey nicht ganz klar. Ist das derselbe wie private oder soll ich einen neuen generieren?


    LG Buffi


    Ja, sorry, ich habe leider keinen nackten Pre für die Tests hergenohmen.
    Du könntest probieren das Verzeichniss .ssh selbst zu erstellen, also bevor du den Schlüssel in authorized_keys schreibst.
    mkdir /var/home/root/.ssh


    Die beiden Schlüssel kannst du dir als Vorhängeschloss vorstellen. Der Public Key ist das Schloss, der private Key der Schlüssel.
    Wie du im dritten Bild sehen kannst, gibt es die Möglichkeit beide zu sichern. Allerdings legt Windows (PuttyKeyGen) diesen
    in einem Format an wie wir in nicht auf den Pre aufspielen können.
    Deshalb muß man den public Key aus dem Fenster kopieren (und in authorized_keys einfügen), den Private Key kann man
    dann speichern.
    Sollte man das "vergessen", so muß man beide Keys neu erstellen, im gegensatz zum real Life, lässt sich aus dem Schloss
    kein Nachschlüssel fertigen.


    Dem Windowsprogramm (in meinem Beispiel WinSCP) übergibt man nun den Private Key (Schlüssel) und so kann dieses das
    Schloss (authorized_keys) öffnen.


    /var/home/root auf dem Pre ist rw gemountet, also sollte normal schreibbar sein. Wenn du also sicher bist keinen
    schreibfehler gemacht zu haben würde ich das mal so probieren (.ssh extra anzulegen).
    Ein Test währe auch auf dem Commandprompt:
    echo "Hallo Welt" > /var/home/root/test.txt
    Damit sollte dann eine Textdatei "test.txt" im home von root angelegt werden.


    Und, ja, hast du den Pre nach der Installation von OpenSSH und SFTP neugestartet? Bin mir jetzt nicht sicher ob
    der sshd glaich nach der Installation läuft, sollte so sein unter Linux, aber das ist ja ein Telefon ;)


    Gib bitte bescheit ob du so weitergekommen bist, dann muß ich obige Anleitung anpassen.

  • Erstmal ein großes DANKE für deine Mühe :thumbup: . Ich werde das nun auch einmal ausprobieren, allerdings unter Ubuntu 10.4.


    Werde berichten obs klappt.

    Besucht die PUG-Hamburg. Lockerer Stammtisch jeden zweiten Mittwoch im Monat. ALLE Smartphone-Systeme (webOS, PalmOS, Android, iOS, Blackberry, WP7, WinMob, Symbian, Maemo, Meego, Openmoko, Bada, u.a.) willkommen. http://www.amile.de/pug

  • opaaladin, Deine Anleitung ist Top :thumbup: Hat super funktioniert!


    Jetzt habe sogar ich es geschafft den SSH Server einzurichten :boogie: denn die Anleitungen, die ich bisher gefunden habe, wie Du auch bemerkt hast, waren entweder unvollständig oder eben nicht so schön ausformuliert.


    Den erwähnten Fehler mit dem fehlenden .ssh Verzeichnis habe ich auch bemerkt, kann aber wie beschrieben aus der Kommandozeile angelegt oder alternativ auch ohne Kommandozeile mit dem Filemanager-Tool 'Internalz' (aber Achtung: durch den 'Punkt' vor dem ssh wird unix like der Ordner in der Standardansicht NICHT angezeigt, also nicht wundern...) auch durch "touchen" angelegt werden.


    Als Hilfe gegen Verbindungabrüche durch den 'Sleepmode' des Pre, wäre 'NoDoze' aus der Homebrew Sektion zu empfehlen!


    Ist eigentlich ein Zugriff auch aus dem WAN möglich (HSDPA)? Eine Verbindung habe ich testweise nicht zu Stande bekommen bzw. meine ich in irgendeiner Anleitung gelesen zu haben, dass WAN Zugriff standardmässig deaktiviert sei. Brauchen tue ich es nicht, weil zu unsicher, aber wissen möchte ich es schon :rolleyes:


  • Danke, das freut einen natürlich wegen der Arbeit ;), das dir erstellen habe ich nun oben zugefügt, hoffendlich kommen damit dann andere besser zurecht, feedback willkommen.


    Das startscript vom sshd liegt unter /etc/event.d, genauer /etc/event.d/mobi.optware.openssh
    Dort die letzten Zeilen mit iptables werden dich Interessieren, in dem Komentar drüber steht schon was du machen mußt, einfach das -i eth0 entfernen, dann wird mit Iptables alle
    Netzschnittstellen für den Port 22 freigeschaltet.
    Über deine Wan Verbindung gehts aber nur von einem anderem Teilnehmer aus, da das auch normal ein privates Netz ist 10.x.x.x, also trotz dyndns gehts leider nicht auf den Pre
    vom Heimischen PC aus (sofern dieser mit DSL angeschlossen ist). ;)


    Ach ja, das script kannst du so natürlich nicht verändern, ro, mußt also das rootfs erst mit -w öffnen.

  • Danke opaaladin,


    jetzt hab ich es versanden. Wenn ich genau gelesen hätte generate public/private Key hätte ich selber darauf kommen sollen. Übrigens openssh habe ich schon früher installiert.
    Habe mit Internalz versucht Verzeichnis anzulegen. Da war der Hinweis mit . hilfreich. Werde berichten ob es geklappt hat. Hatte mich bisher für Linux nicht interessiert, scheint aber in Zukunft notwendig zu sein.


    Gruß Buffi

  • Schei$%&e, das geht.... :D :D :D


    Deine Anleitung ist super! Habs jetzt unter Ubuntu 10.4 zum Laufen gebracht. Hier ist zwar alles anders, aber zusammen mit einem Kumpel (Danke Jens) hab ichs hingekriegt.
    Der Puttygen ist ein Kommandozeilentool und ich hab Filezilla am Start. Aber es läuft prima.


    Besten Dank für die tolle Anleitung! :thumbup: :thumbup: :thumbup:

    Besucht die PUG-Hamburg. Lockerer Stammtisch jeden zweiten Mittwoch im Monat. ALLE Smartphone-Systeme (webOS, PalmOS, Android, iOS, Blackberry, WP7, WinMob, Symbian, Maemo, Meego, Openmoko, Bada, u.a.) willkommen. http://www.amile.de/pug

  • Unter Linux (Ubuntu) würde ich zwar ssh-keygen verwenden, aber du weißt schon was du tust ;)
    ssh und scp geht dann auch völlig ohne weiteren Programme, aber das ist sowieso eine ganz andere
    Welt, have fun.

  • Wer ein unixoides System nutzt kann sich das Leben noch einfacher machen und das Mediaverzeichnis des Pre mittels sshfs einbinden.


    Für debianbasierte Systeme:
    aptitude install sshfs
    adduser username fuse


    als root ausführen. Damit installiert ihr sshfs und erlaubt dem Nutzer (username) das mounten von Dateisystemen mittels Fuse.


    Für die Partition braucht ihr einen Mountpoint, zum Beispiel:
    mkdir ~/pre


    Einbinden kann man das Verzeichnis dann mit:
    sshfs palmpre:/media ~/pre


    wobei "palmpre" die IP-Adresse oder der Name des Pres im Netzwerk ist.


    Ich hoffe ich hab das aus dem Kopf korrekt runtergeschrieben, ich hab mir dafür ein kleines Skript angelegt und bin sehr zufrieden (für Gnome oder KDE sollte es ein Anwendungsstarter tun).

  • Ubuntu 10.4


    Menu Ordner
    Verbindung zu Server
    Dienste-Typ: SSH
    Server: "IP-Adresse eingeben"
    Port: 22
    Ordner: /media/internal
    Lesezeichen hinzufügen und Namen vergeben.
    Vebinden anklicken
    Alle Anfragen bestätigen!


    Nun liegt ein Icon auf dem Desktop. Doppelklick und man hat alles im "normalen" Zugriff.


    So coooooool 8)

    Besucht die PUG-Hamburg. Lockerer Stammtisch jeden zweiten Mittwoch im Monat. ALLE Smartphone-Systeme (webOS, PalmOS, Android, iOS, Blackberry, WP7, WinMob, Symbian, Maemo, Meego, Openmoko, Bada, u.a.) willkommen. http://www.amile.de/pug

  • hallo zusammen,


    hab das ganze gestern mal installiert und hat auch super geklapt und ist gut gelaufen. aber kann es sein, dass sich das ganze extrem auf die akkulaufzeit auswirkt? ich hatte das gefühl, dass der akku, so lange das alles installiert war rasend schnell energie verloren hat (nicht nur wenn eine verbindung bestanden, auch über nacht hat der pre wesentlich mehr energie verbraucht). hab das alles jetzt wieder runtergeschmissen und seitdem ist der gefühlte akkuverberbrauch wieder normal. zufall oder kann das wirklich zusammenhängen, weil dann im hintergrund ja der sftp-server immer mitläuft?

  • aber kann es sein, dass sich das ganze extrem auf die akkulaufzeit auswirkt? ich hatte das gefühl, dass der akku, so lange das alles installiert war rasend schnell energie verloren hat (nicht nur wenn eine verbindung bestanden, auch über nacht hat der pre wesentlich mehr energie verbraucht). hab das alles jetzt wieder runtergeschmissen und seitdem ist der gefühlte akkuverberbrauch wieder normal. zufall oder kann das wirklich zusammenhängen, weil dann im hintergrund ja der sftp-server immer mitläuft?

    Also ich habe nicht wirklich einen Unterschied bemerkt. Zumal, wenn du nicht permanent Nodoze eingeschaltet lässt, die Verbindung ja auch irgendwie auf "idle" gesetzt wird wenn das Gerät in den Standby geht.

  • hallo zusammen,


    hab das ganze gestern mal installiert und hat auch super geklapt und ist gut gelaufen. aber kann es sein, dass sich das ganze extrem auf die akkulaufzeit auswirkt? ich hatte das gefühl, dass der akku, so lange das alles installiert war rasend schnell energie verloren hat (nicht nur wenn eine verbindung bestanden, auch über nacht hat der pre wesentlich mehr energie verbraucht). hab das alles jetzt wieder runtergeschmissen und seitdem ist der gefühlte akkuverberbrauch wieder normal. zufall oder kann das wirklich zusammenhängen, weil dann im hintergrund ja der sftp-server immer mitläuft?


    Der SSHD der da auf dem Pre gestartet wird ist ein Normaler Dienst der über den init gesteuert wird.
    Wenn das Phone also in sleep geht, legt sich auch dieser schlafen. Du kannst das ausprobieren, wenn
    der Bildschirm aus ist, nicht auf dem Touchstone oder am USB, also das Phone schläft, kannst du auch
    nicht verbinden. Sogar eine stehende Verbindung unterbricht wenn das Ding sich schlafen legt.


    Also anhand der zwei Packete OpenSSH und SFTP fängst du dir keinen Accu Killer ein, mir fällt auch in
    der Konfig jetzt kein Punkt ein wo man da was ändert und/oder Mist bauen könnte.
    Nodooze währ ein Tipp, aber so b... warst du ja bestimmt nicht das du diesen angelassen hast ;).

  • Danke für eure Antworten! Ich hab das ganze jetzt seit rund einer Woche wieder laufen und diesmal hab ich keine Auswirkungen auf die Akkulaufzeit bemerkt. Ich vermute also mal, dass das mit etwas anderem zusammenhing. :rolleyes:

  • Hallo WinSCP Portable bekommt bei mir keinen Kontakt zum Pre+
    Irgendwelche Tipps dazu`Hab alles so eingerichtet wie im ersten Eintrag, ging problemlos. Bis auf den Verbindungsversuch :(
    Edit: Puuty meldet: Connection refused (da konnte ich aber auch nicht den key angeben).
    Auf meinem Pre ist sowohl Open SSH als auch Open SSH SFTP Server installiert.

  • Welchen ersten Eintrag?
    Hast du den Pre nach der Installation von OpenSSH neu gestartet? Ist der Pre im Netz erreichbar?
    Auf deinem Windowsrechner cmd starten und dann ping auf die IP des Pre.


    Viel wichtiger vielleicht, sind beide über Wlan angeschlossen? Oder hängt der Windowsrechner am Kabel?

  • Welchen ersten Eintrag?


    Damit war Dein erstes Posting gemeint.
    Pre ist mit Ping erreichbar.
    Wifi Media Sync funktioniert.
    Beide Rechner laufen übers WLAN, also selber ip-adress Bereich.


    Was mir auffällt ist, dass nicht jedes Ping das ziel erreicht.


    Edit:

    Zitat

    Hast du den Pre nach der Installation von OpenSSH neu gestartet?


    Schon längst passiert, hatte ich schon vor ein paar Tagen installiert ^^