lokal.sh

lokal.sh

Ich möchte ein Remote-Gnome-Terminal ausführen und X11-Apps lokal anzeigen lassen.

Das hier sollte funktionieren, tut es aber nicht („Anzeige kann nicht geöffnet werden“):

ssh -Y user@host gnome-terminal

Das ist nicht, was ich will, da es nur für einen Tab gut ist:

gnome-terminal -e 'ssh -Y user@host'

Dies führt zu dem richtigen Ergebnis, erfordert jedoch zusätzliche Schritte und Fenster:

ssh -Y user@host
gnome-terminal &

Das hier macht, was ich will, aber mit xterm:

ssh -Y user@host xterm

Letztendlich würde ich gerne einen Alias ​​für den ersten erstellen, aber das funktioniert nicht! Was übersehe ich?!

Danke =)

Antwort1

Der Befehl hierfür lautet ssh [username@]servername -X„username@“ ist optional, aber nützlich, um SSH anzuweisen, den richtigen Benutzernamen zu verwenden, um nur nach dem Kennwort zu fragen. Danach werden die gesamten GUIs Ihrer bevorzugten Anwendungen auf Ihrem Desktop und nicht auf dem Remote-Desktop angezeigt.

SSHPassDarüber hinaus können Sie (Installieren Sie es mit in einem Terminal) verwenden, sudo apt-get install sshpassum benutzerdefinierteSSH-SkripteDamit können Sie mit einem einzigen Befehl wie diesem eine Verbindung zu Ihrem Server herstellen:

lokal.sh

#!/bin/bash
sshpass -p "PASSWORD" ssh username@server -p [PORT] -X

Angenommen, Ihr SSH-Server hat die 192.168.1.100IP-Adresse und der Benutzername ist webusermit einem 12345Passwort versehen. Dann sieht der Befehl folgendermaßen aus:

sshpass -p "12345" ssh [email protected] -X
  • Denken Sie daran, dass es wichtig ist, dass es -XGroßbuchstaben sind.

Nachdem Sie die entsprechenden Ausführungsberechtigungen erteilt haben, sudo chmod +x local.shkönnen Sie es in einem Terminal aufrufen über./local.sh

Wenn Sie noch weiter gehen möchten, können Sie dies in Ihrem /usr/binVerzeichnis ablegen, sodass Sie es in einem Terminal oder Launcher direkt über aufrufen können, local.shoder Sie können es in einen einwortigen Befehl umbenennen, wiesshlocal

Jetzt. Sobald Sie mit dem Server verbunden sind, müssen Sie kein Terminal mehr öffnen. Alle Befehle werden ausgeführt, als ob Sie sich in einem lokalen Terminal auf dem Server befänden.ABER:Wenn Sie ausführen möchten , wird auf Ihrem Bildschirm gnome-terminaleine Remote-GUI angezeigt.gnome-terminal

Probieren Sie es aus und teilen Sie uns bitte mit, ob es geklappt hat.

Nützliche Informationen

 -X      Enables X11 forwarding.  This can also be specified on a per-host
         basis in a configuration file.
     X11 forwarding should be enabled with caution.  Users with the
     ability to bypass file permissions on the remote host (for the
     user's X authorization database) can access the local X11 display
     through the forwarded connection.  An attacker may then be able
     to perform activities such as keystroke monitoring.

     For this reason, X11 forwarding is subjected to X11 SECURITY
     extension restrictions by default.  Please refer to the ssh -Y
     option and the ForwardX11Trusted directive in ssh_config(5) for
     more information.


   -Y      Enables trusted X11 forwarding.  Trusted X11 forwardings are not
             subjected to the X11 SECURITY extension controls.

Quelle:http://manpages.ubuntu.com/manpages/precise/man1/ssh.1.html

Viel Glück!

verwandte Informationen