it-swarm.com.de

Fehler: Anzeige kann nicht geöffnet werden: (null), wenn Xclip zum Kopieren des öffentlichen SSH-Schlüssels verwendet wird

Ich folge in Erzeugung von SSH-Schlüsseln , heißt es

Sudo apt-get install xclip

# Lädt und installiert xclip. Wenn Sie apt-get nicht haben, müssen Sie möglicherweise ein anderes Installationsprogramm verwenden (wie yum).

xclip -sel clip <~/.ssh/id_rsa.pub

# Kopiert den Inhalt der Datei id_rsa.pub in Ihre Zwischenablage

Aber nachdem ichxclip -sel clip < ~/.ssh/id_rsa.pub ausgeführt habe, bekomme ich Error: Can't open display: (null)__. Ich googelte herum, fand aber nichts davon

69
cqcn1991

DISPLAY=:0 xclip -sel clip < ~/.ssh/id_rsa.pub hat für mich nicht funktioniert (ubuntu 14.04), aber Sie können Folgendes verwenden:

cat ~/.ssh/id_rsa.pub

um Ihren öffentlichen Schlüssel zu erhalten 

82
Jahdere

Basierend auf dem Datum dieser Frage hätte das ursprüngliche Poster Windows Subsystem for Linux nicht verwendet. Wenn Sie jedoch die gleiche Fehlermeldung erhalten, funktioniert die folgende Alternative:

clip.exe < ~/.ssh/id_rsa.pub

Dank dieser Seite zum Verweisen auf Windows 'clip.exe (und Sie müssen ".exe" eingeben) kann von der Bash-Shell ausgeführt werden.

25
Marc Stober

Dies war eine zu gute Antwort , um es nicht hier zu posten. Es ist von einem Kollegen in askubuntu:

Die Zwischenablage wird von X bereitgestellt Server . Es spielt keine Rolle Unabhängig davon, ob der Server kopflos ist oder nicht, wichtig ist, dass Ihre lokale Die grafische Sitzung ist für Programme verfügbar, die auf der Remote-Station ausgeführt werden Maschine. Dank des netztransparenten Designs von X ist dies möglich.

Ich gehe davon aus, dass Sie sich mit SSH von einem .__ aus mit dem Remote-Server verbinden. Maschine, auf der Linux ausgeführt wird. Stellen Sie sicher, dass die X11-Weiterleitung aktiviert ist in der Clientkonfiguration und in der Serverkonfiguration. In dem Client-Konfiguration müssen Sie die Zeile ForwardX11 yes in .__ haben. ~/.ssh/config, um es standardmäßig zu aktivieren, oder übergeben Sie die Option -X an der ssh-Befehl nur für diese Sitzung. In der Serverkonfiguration Sie müssen die Zeile X11Forwarding yes in .__ haben. /etc/ssh/sshd_config (ist standardmäßig auf Ubuntu vorhanden).

Um zu überprüfen, ob die X11-Weiterleitung aktiviert ist, prüfen Sie den Wert von DISPLAY Umgebungsvariable: echo $DISPLAY. Sie sollten eine .__ sehen. Wert wie localhost:10 (Anwendungen, die auf dem Remote-Computer ausgeführt werden werden aufgefordert, eine Verbindung zu einer Anzeige herzustellen, die auf demselben Computer ausgeführt wird, aber diese Display-Verbindung wird tatsächlich von SSH an Ihre clientseitige Anzeige weitergeleitet.). Beachten Sie, dass es nicht sinnvoll ist, DISPLAY zu setzen manuell: Die Umgebungsvariable wird immer korrekt gesetzt, wenn Weiterleitung ist vorhanden. Wenn Sie SSH-Verbindungsprobleme diagnostizieren müssen, Übergeben Sie die Option -vvv an ssh, um eine detaillierte Übersicht über das zu erhalten, was .__ ist. Ereignis.

Wenn Sie auf andere Weise eine Verbindung herstellen, können Sie .__ sein oder nicht. X11-Weiterleitung erreichen. Wenn auf Ihrem Client Windows ausgeführt wird, PuTTY unterstützt die Weiterleitung von X11; Sie müssen einen X-Server unter Windows ausführen Maschine wie Xming .

-Gilles von askubuntu

19
Carles Alcolea

Falls Sie versuchen, xclip auf einem Remote-Host zu verwenden, fügen Sie einfach -X zu Ihrem ssh-Befehl hinzu 

ssh [email protected] -X

Weitere Informationen finden Sie hier: https://askubuntu.com/a/305681

13

Probieren Sie es aus und es funktioniert wie ein Zauber. Ich hatte den gleichen Fehler, aber dieser Ansatz hat mir geholfen:

ssh [email protected] "cat file"|xclip -i
7
VaTo

Haben Sie die Dokumentation gelesen, die Sie verlinkt haben. Das ist total dumm! xclip ist nur eine Zwischenablage. Sie finden andere Möglichkeiten zum Kopieren und Einfügen des Schlüssels ... (Ich bin mir sicher)


Wenn Sie nicht innerhalb einer grafischen X-Sitzung arbeiten, müssen Sie die $DISPLAY-Umgebungsvariable an den Befehl übergeben. Führen Sie es so aus:

DISPLAY=:0 xclip -sel clip < ~/.ssh/id_rsa.pub

Natürlich hängt :0 von der verwendeten Anzeige ab. Wenn Sie eine typische Desktop-Maschine haben, ist es wahrscheinlich, dass es :0 ist.

7
hek2mgl

Folgendes funktioniert auch für mich:

ssh <user>@<Host>  "cat <filepath>"|pbcopy 
5
Dario

fügen Sie diesen Befehl vom Benutzer root hinzu: ssh user_to_acces @ hostName -X

user_to_acces = Benutzer Hostname = Hostname-Rechner

0
Fadid