Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

pfc

Anfänger

  • »pfc« ist männlich
  • »pfc« ist der Autor dieses Themas

Beiträge: 19

Wohnort: Germoney

Beruf: FiSi

  • Nachricht senden

1

04.02.2009, 13:22

Window Manager (Xfce4) auf Debian 4.0 vServer installieren?

Hallo,

ich teste gerade einen vServer, der mit Debian etch läuft.
Ich komme also nur mit ssh, Plesk oder Web-access auf den Server.

Wie kann ich jetzt ein Remote-Desktop-System auf diesem Debian einrichten (oder x11 Forwarding, -Was soll das genau sein?-) damit ich eine grafische benutzeroberfläche durchs Internet (verschlüsselt) auf dem Server erreichen kann?
Da Gnome zu recourcenfressend ist, ginge auch KDE oder besser Xfce4.

Hat jemand einen tip oder howto, nach was muss ich suchen?
danke vorab,
pfc
___

h.a.nice.d
__

2

04.02.2009, 19:10

RE: Window Manager (Xfce4) auf Debian 4.0 vServer installieren?

Eigentlich macht man sowas auf Servern ja nicht, da es aus Sicherheits-, Verfügbarkeits- und Ressourcen-Gründen als unklug gilt. Benutzer, die so unerfahren sind, dass sie eine grafische Oberfläche unbedingt benötigen, sollten lieber die Finger von so einem Server lassen, da das leicht auf Fahrlässigkeit hinaus laufen kann und der Server möglicherweise zu einer Gefahr oder Belästigung für andere Leute wird.


Zitat

Original von pfc
Ich komme also nur mit ssh, Plesk oder Web-access auf den Server.

Wieso "nur"? IMHO wäre schon SSH genug.

Zitat

Original von pfc
Wie kann ich jetzt ein Remote-Desktop-System auf diesem Debian einrichten (oder x11 Forwarding, -Was soll das genau sein?-) damit ich eine grafische benutzeroberfläche durchs Internet (verschlüsselt) auf dem Server erreichen kann?

Zunächst wirft man mal die Firewall an (falls noch nicht geschehen), so dass nur wenige benötigte Ports von Außen erreichbar sind. Speziell sollten X11 (wenn möglich mehrere Displays) und VNC verboten sein, damit sie nicht versehentlich doch von Außen erreichbar werden.

Für VNC richtest Du zunächst einen VNC-Server so ein, dass er nur lokal (nur auf localhost) verfügbar ist (aber besser trotzdem mit einem eigenen, anderen Passwort). mit folgendem Kommando wird dann ein Tunnel geöffnet:

Quellcode

1
ssh -l user -L localhost:4444:localhost:5901 remotehostname
... und zwar von vom lokalen PC an Port 4444 zum Port 5901 (VNC-Display #1) auf dem entfernten Rechner. Da die unverschlüsselten Verbindungsteile jeweils nur über die local-loopback-Adressen (also von localhost zu localhost) gehen sollen, steht da zweimal "localhost". Dann verbindet man einfach mit dem VNC-Client zu "localhost:4444" und sieht das entfernte Display. (Wenn das einfach nur leer ist, dann muss man ein entsprechendes VNC-Startup-Script machen oder über die SSH-Sitzung die DISPLAY-Variable setzen, sich evtl. mit "xauth" Zugriff auf das Display verschaffen und dort Programme bzw. einen Window-Manager starten.)

Für X11 genügt es X-Programme zu installieren und in der sshd_config (siehe auch die gleichnamige man-Page) "X11Forwarding" auf "yes" zu stellen (vllt. muss man auch noch sshd neu starten, das weiß ich jetzt nicht). Wenn man sich dann mit ssh -X am Server anmeldet und ein X-Programm startet, erscheinen die Fenster, durch den Tunnel, auf dem lokalen Xserver.
Will man eine ganze Session, mit Window-Manager usw., auf dem entfernten Rechner starten, so gibt es zwei Möglichkeiten:
  • Man forwarded das Fenster von Xnest, wie oben beschrieben, durch den Tunnel und startet Clients oder Fenstermanager dorthin.
  • Man startet einen lokalen Xserver so, dass er als Fenstermanager ein ssh-Kommando benutzt, welches den Fenstermanager auf dem entfernten Rechner startet und zum lokalen Display tunnelt. z.B. sofür den Blackbox-Fenstermanager:

    Quellcode

    1
    2
    3
    
    export DISPLAY=':3'; xinit /usr/bin/ssh -X -l user remotehostname blackbox -- :3 -config xorg.conf
    # oder mit startx, was aber überall verschieden sein kann ...
    export DISPLAY=':3'; startx '/usr/bin/ssh -X -l user remotehostname blackbox' -- :3 -config xorg.conf


So, jetzt weißt Du Bescheid.

PS: Mit "nmap" und "netstat" kann man super prüfen, welche Ports im Spiel sind. VPN gibt's auch noch, aber davon habe ich wenig Ahnung.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »oziris« (04.02.2009, 19:11)


pfc

Anfänger

  • »pfc« ist männlich
  • »pfc« ist der Autor dieses Themas

Beiträge: 19

Wohnort: Germoney

Beruf: FiSi

  • Nachricht senden

3

12.02.2009, 10:23

Hi oziris,

vielen dank für den ausführlichen Beitrag!
Auf einen Server ziehe ich zB dann eine grafische Oberfläche, wenn dieser zum Surfen genutzt werden soll, und nicht etwa um irgendwelche services anzubieten.
Da habe ich den Begriff "Server" womöglich falsch benutzt...

Hat also weniger etwas mit Unerfahrenheit zu tun, als mit Alltagstauglichkeit, wer möchte denn schon mit "Links" (Browser) durch die gegen surfen.

Bzgl. der VNC-Anleitung:
Für remotehostname kann ich also die Server IP angeben?
Und nach deiner Beschreibung müsste Port 5901 nach außen hin in der Firewall (vonmir aus gesehen) geöffnet sein? Was, wenn das nicht so ist. Ginge dann auch 443? Also:

ssh -l user -L localhost:4444:localhost:443 SERVER-IP

und dann den vncserver auf dem Rechner im Internet dazu bewegen, auf 443 zu lauschen...

Deine X11 Erläuterung werde ich mir nochmal zu Gemüte führen, bis dahin habe ich jetzt folgendes Szenario:

- Ubuntu (in der LTS SERVER Variante)
- gnome desktop nachgezogen
- Den Server von http://www.nomachine.com installiert (Kostenfrei)

Mit dem passenden Client kommt man verschlüsselt auf den GnomeDesktop des Servers...

Es bleibt der Nachteil, dass auf dem Client Rechner der nomachine Client installiert sein muss. (Das Problem hat man aber auch mit dem VNC Client...) und das Port 22 nach außen hin (vom Büro oder zu Hause aus gesehen) auf sein muss.

Ich suche immer noch nach einer Möglichkeit, via https (443) auf (m)einen Server zu kommen, sodass man im Browser (Java Applet) den Remote Desktop angezeigt bekommt.
Das gibts, nennt sich SSL-Based-VPN, ist aber nicht kostenlos (früher mal SSL-Explorer, aber nur für Windows) und existiert meines wissen nur auf hardware appliances, die vor den zu erreichenden server gestellt werden müssen.

Deine Anleitung zu ssh-tunneling werde ich definitiv testen!

gruß
___

h.a.nice.d
__

4

13.02.2009, 00:27

Zitat

Original von pfc
Hat also weniger etwas mit Unerfahrenheit zu tun, als mit Alltagstauglichkeit, wer möchte denn schon mit "Links" (Browser) durch die gegen surfen.

Ich mache das gern. Links rendert die Seiten viel schneller und startet auch sehr schnell. Links hat auch einen GUI-Modus, mit dem man im X mal eben schnell ein Bild oder einen Paste von jemandem aus dem IRC ansehen kann.
eLinks hat zwar kein GUI, funktioniert aber mit Tabs. Außerdem kann man darin mit dem Mausrad scrollen, was mit Links nur im GUI-Modus geht.

Zitat

Original von pfc
Bzgl. der VNC-Anleitung:
Für remotehostname kann ich also die Server IP angeben?
Ja. Dorthin verbindet SSH dann auf Port 22 und richtet dann den Tunnel zwischen den zwei Rechnern ein, wobei (in diesem Fall) für beide Rechner das jeweilige Ende des Tunnels ein Port auf localhost ist.

Zitat

Original von pfc
Und nach deiner Beschreibung müsste Port 5901 nach außen hin in der Firewall (vonmir aus gesehen) geöffnet sein?
Nein. Der soll nach meiner Beschreibung unbedingt geschlossen sein, damit man nicht versehentlich den VNC-Server ungeschützt im Netz lauschen hat.
Nur von localhost nach localhost soll der offen sein.

Zitat

Original von pfc
Was, wenn das nicht so ist. Ginge dann auch 443? Also:

ssh -l user -L localhost:4444:localhost:443 SERVER-IP

und dann den vncserver auf dem Rechner im Internet dazu bewegen, auf 443 zu lauschen...

Das ist natürlich Quatsch, denn der Tunnel besteht von "localhost:4444" (auf dem Client) zu "localhost:5901" (auf dem Server). Nur Port 22 von SSH lauscht im bösen Internet.
Die Verbindung geht quasi so:
Vom VNC-Viewer am Client zum localhost:4444. Dann verschlüsselt der SSH-Client das Ganze und schickt es durch seine Verbindung, die es über Port 22 zum SSH-Server hergestellt hat. Am SSH-Server werden die Daten entschlüsselt und an localhost:5901 geleitet, wo der VNC-Server die Verbindung entgegennimmt. Die Antwort des VNC-Servers geht dann quasi den selben Weg zurück.

Zitat

Original von pfc
- Den Server von http://www.nomachine.com installiert (Kostenfrei)
[...]
Es bleibt der Nachteil, dass auf dem Client Rechner der nomachine Client installiert sein muss.

Damit kann ich gar nix anfangen. Wozu ist das gut und warum gab es etwas Vergleichbares nicht im Paket-Manager?

Zitat

Original von pfc
(Das Problem hat man aber auch mit dem VNC Client...)
Welches Problem?

Zitat

Original von pfc
und das Port 22 nach außen hin (vom Büro oder zu Hause aus gesehen) auf sein muss.
Port 22 muss nur auf dem Server, zu dem man hin Verbinden will, offen sein. Man kann aber auch einen anderen am SSH-Server einstellen, muss den dann aber auch immer am CLient angeben... und das Kommando für den Client ist auch schon so kompliziert genug :crazy:
Wenn man den Port gern versteckeln möchte, damit es nicht so viele Brute-Force-Versuche in den Logs gibt, dann kann man aber auch Port-Knocking benutzen. Das wurde schon an anderer Stelle ausgiebig diskutiert; muss jeder selber wissen.

Zitat

Original von pfc
Ich suche immer noch nach einer Möglichkeit, via https (443) auf (m)einen Server zu kommen, sodass man im Browser (Java Applet) den Remote Desktop angezeigt bekommt.

Einige VNC-Server haben sowas eingebaut und ich finde es ganz fürchterlich. Ein weiterer Grund für eine umfassende Firewall-Sperrung nach außen.

Thema bewerten