GNU/Linux >> Znalost Linux >  >> Linux

Ssh vrací zprávu „x11 Požadavek na předání selhal na kanálu 1“?

Když ssh vstoupím na vzdálený server, na kterém není spuštěn žádný typ desktopového prostředí X11, zobrazí se mi následující zpráva.

$ ssh [email protected]
X11 forwarding request failed

$ ssh [email protected] ls
X11 forwarding request failed on channel 1
file1
file2
...

Jak se mohu těchto zpráv zbavit?

Přijatá odpověď:

Tyto zprávy lze eliminovat pomocí 1 ze 3 metod pouze pomocí možností SSH. Vždy můžete posílat zprávy na /dev/null ale tyto metody se snaží vypořádat se zprávou prostřednictvím konfigurace, spíše než ji pouze zachytit a zahodit.

Metoda č. 1 – instalace xauth

Server, na který se vzdáleně připojujete, si stěžuje, že nemůže vytvořit záznam v .Xauthority uživatele soubor, protože xauth není nainstalován. Můžete jej tedy nainstalovat na každý server, abyste se zbavili této nepříjemné zprávy.

Na Fedoře 19 nainstalujete xauth takhle:

$ sudo yum install xorg-x11-xauth

Pokud se poté pokusíte o ssh na serveru uvidíte zprávu, že se vytváří záznam v .Xauthority uživatele soubor.

$ ssh [email protected]
/usr/bin/xauth:  creating new authority file /root/.Xauthority
$

Při následných přihlášeních se již tato zpráva nebude zobrazovat.

Metoda č. 2 – deaktivujte ji pomocí ForwardX11

Můžete zadat příkaz ssh klienta, aby se nepokoušel povolit předávání X11 zahrnutím parametru SSH ForwardX11.

$ ssh -o ForwardX11=no [email protected]

Totéž můžete udělat s -x přepínač:

$ ssh -x [email protected]

Toto pouze dočasně zakáže tuto zprávu, ale je to dobrá volba, pokud nemůžete nebo nechcete nainstalovat xauth na vzdáleném serveru.

Metoda č. 3 – deaktivujte ji pomocí sshd_config

Toto je obvykle výchozí nastavení, ale v případě, že tomu tak není, můžete nastavit sshd server, takže X11Forwarding je vypnutý, v /etc/ssh/sshd_config .

X11Forwarding no

Ze 3 metod obecně používám #2, protože často budu chtít X11Forwarding na většině mých serverů, ale pak nechci vidět X11.... varování

$HOME/.ssh/config

Většinu času se tyto zprávy ani nezobrazí. Obvykle jsou přítomny pouze tehdy, když máte v $HOME/.ssh/config následující položky soubor, nahoře.

ServerAliveInterval 15
ForwardX11 yes
ForwardAgent yes
ForwardX11Trusted yes

GatewayPorts yes

Takže je to toto nastavení, které nakonec řídí generaci těchto X11.. zpráv, takže znovu se metoda #2 zdá být nejvhodnější, pokud chcete pracovat s ForwardX11 yes ve výchozím nastavení zapnuto, ale poté jej selektivně zakázat pro určitá připojení z ssh pohled klienta.

Související:Linux – dobrý způsob, jak zašifrovat a uložit poštovní schránku a zároveň k ní mít rychlý přístup a prohledávat ji?

Zabezpečení

Obecně se nedoporučuje spouštět s ForwardX11 yes zapnutý po celou dobu. Pokud tedy chcete provozovat svá připojení SSH v co nejbezpečnějším prostředí, je nejlepší udělat následující:

  1. Nezahrnujte ForwardX11 yes ve vašem $HOME/.ssh/config soubor
  2. Používejte ForwardingX11 pouze v případě potřeby prostřednictvím ssh -X [email protected]
  3. Pokud můžete, vypněte X11Forwarding zcela na serveru, takže je to zakázáno

Odkazy

  • SSH:Secure Shell – Definitivní průvodce – 9.3. X Přeposílání

Linux
  1. Ssh – pomocí již zavedeného kanálu Ssh?

  2. Linux – X11 přesměrování přes Ssh?

  3. Jak vyřešit problém se selháním vyjednávání algoritmu na SSH

  1. Jak vytvořit vlastní uvítací zprávu pro přihlášení k SSH

  2. Ssh port forwarding google výpočetní stroj

  3. Jak odstranit zprávu „Připojení k xx.xxx.xx.xxx uzavřeno“?

  1. gnutls_handshake() se nezdařilo:GIT selhal handshake

  2. Jak přesměrovat ssh s AllowTcpForwarding nastaveným na ne?

  3. Jak povolit předávání SSH X11 přes další server?