Za każdym razem, gdy inicjuję połączenie ssh z komputera Mac do systemu Linux (Debian), pojawia się następujące ostrzeżenie:
No xauth data; using fake authentication data for X11 forwarding.
Dzieje się tak również w przypadku narzędzi korzystających z ssh, takich jak git lub mercurial.
Chcę tylko wprowadzić lokalną zmianę w moim systemie, aby temu zapobiec.
Uwaga: Mam serwer X11 (XQuartz 2.7.3 (xorg-server 1.12.4)) na moim Mac OS X (10.8.1) i działa poprawnie, mogę z powodzeniem uruchomić zegar lokalnie lub zdalnie.
ssh hostname
ale w moim~/.ssh/config
dodałemForwardX11 yes
jakiś czas temu. Nadal jest to coś, co chcę tam mieć.ssh -Y hostname
z Linuksa issh -x hostname
podczas korzystania z OpenSSH w systemie Windows.Odpowiedzi:
Żadne z opublikowanych rozwiązań nie działało dla mnie. System mojego klienta (stacjonarny) działa pod kontrolą systemu macOS 10.12.5 (Sierra). Dodałem
-v
do opcjissh
polecenia i powiedział mi:co oznacza, że nie ma poprawnej ścieżki do
xauth
programu. (W tej wersji systemu macOS ścieżka doxauth
jest niestandardowa.) Rozwiązaniem było dodanie tej linii do/etc/ssh/ssh_config
(może być/etc/ssh/config
w niektórych konfiguracjach) lub w~/.ssh/config
(jeśli nie masz uprawnień administratora):Teraz komunikat ostrzegawczy zniknął.
źródło
Host *
wpisem w moim~/.ssh/config
pliku zamiast edycji/etc/ssh/ssh_config
. Jedyną dokumentacją, którą znalazłem, byłaman sshd_config
.Znalazłem przyczynę, moja
~/.ssh/config
była niekompletna, potrzebujesz obu:Mój błąd polegał na tym, że zawarłem tylko opcję ForwardX11.
źródło
ForwardAgent
służy do przekazywania kluczy buforowanychssh-agent
przez wiele zagnieżdżonych połączeń SSH. Nie powinno to mieć żadnego związku z X11. I fwiw, według niektórych, nie jest dobrym pomysłem ze względów bezpieczeństwa: heipei.github.io/2015/02/26/…~/.ssh/config
na kliencie macOS lub serwerze Linux? Nie mam tych plików na żadnym z nich. Mam podobny/etc/ssh/sshd_config
Zezwolenie Ubuntu na uruchomienie systemu Windows 10 w
ssh -X
celu uzyskania środowiska GUI na zdalnym serwerzeZainstaluj wszystkie następujące elementy. W systemie Windows zainstaluj
Xming
. W systemie Ubuntu bash użyj,sudo apt install
aby zainstalowaćssh xauth xorg
.Idź do folderu zawierającego
ssh_config
plik, mój jest/etc/ssh
.Edytuj
ssh_config
jako administrator (USEsudo
). Wewnątrzssh_config
, usuń mieszania#
w liniiForwardAgent
,ForwardX11
,ForwardX11Trusted
i ustaw odpowiednie argumentyyes
.W
ssh_config
pliku usuń przedni skrót#
przedPort 22
iProtocol 2
, a także dodaj nowy wiersz na końcu pliku, aby podać lokalizację pliku xauthXauthLocation /usr/bin/xauth
, pamiętaj, że napisz własną ścieżkę do pliku xauth.Teraz, gdy skończyliśmy edytować
ssh_config
plik, zapisz go, gdy wyjdziemy z edytora. Teraz przejdź do folderu~
lub$HOME
dołączexport DISPLAY=localhost:0
do.bashrc
pliku i zapisz go.Prawie skończyliśmy. Zrestartuj powłokę bash, otwórz
Xming
program i użyjssh -X yourusername@yourhost
. Następnie ciesz się środowiskiem GUI.Problem dotyczy również podsystemu Ubuntu w systemie Windows, a łącze znajduje się pod adresem
https://gist.github.com/DestinyOne/f236f71b9cdecd349507dfe90ebae776
Uwaga: połączony tekst zawiera 2 literówki (
XauthLocaion
zamiastXauthLocation
)źródło
Xming
, powinniśmy dostaćXQuartz
, assh_config
plik znajduje się w innej lokalizacji, moja jest/private/etc/ssh
.ssh_config
będzie:XAuthLocation /opt/X11/bin/xauth
XauthLocaion
->XauthLocation
(ta edycja jest za mała, aby ją wykonać).xming
,ssh
,xauth
, ixorg
(krok 1), jedyną rzeczą, potrzebne było dla mnieexport DISPLAY=localhost:0
Jak wspomniano, wydaje się, że
xauth
w OS X Yosemite zresetował się do starej wersji, która nie działa z$DISPLAY
ustawieniem XQuartz :źródło
xauth generate $DISPLAY .
polecenie działało na moim Mac OS X High Sierra (10.13) i rozwiązało mojeNo xauth data; using fake authentication data for X11 forwarding.
pb.Obecnie w systemie MacOS występuje błąd. Też natknąłem się na to. Poprawka polegała na dodaniu do mojego pliku .bash_profile następujących elementów
Zasadniczo nazwa potoku pliku powiązanego z twoim katalogiem głównym X nie może być obsługiwana poprawnie, a zatem wymaga korekty. :-)
źródło
Włącznie z
XAuthLocation / opt / local / bin / xauth w ~ / .ssh / config
w moim systemie macOS działała dla mnie Sierra 10.12.6. Mała zmiana w stosunku do odpowiedzi 7).
źródło
właśnie usunąłem ~ / .Xauthority (komputer docelowy) z mojego folderu głównego i ssh -X 192.168.123.1 ponownie i ik zadziałało.
źródło
~$ mv ~/.Xauthority ~/.Xauthority.bak
Nowy magiczny plik cookie został automatycznie ponownie umieszczony w ~ / .Xauthority po ponownym zalogowaniu. Skrypty Bash wcale nie są wymagane.W moim przypadku był to problem .Xauthority zawierający Magic cookie nie został przesłany dalej, Fabby na http://askubuntu.com/questions/571116/ zaleca 14.11.2014, aby dodać ten wiersz na końcu .bashrc lub . profil umożliwiający przekazywanie kluczy xauth między użytkownikami podczas wywoływania su:
Dodałem też wcześniej:
aby upewnić się, że zdalne wywołane przez ssh -X ̍ @ go znajdzie.
W moim przypadku .Xauthority jest dowiązaniem symbolicznym do oryginalnego użytkownika /home//.Xauthority, z którego pochodzę od ...
z prawidłowymi prawami:
więc jest dostępny dla i dla. będzie mógł uruchamiać aplikacje i wyświetlać wynik X-okien na swoim lokalnym ekranie na całym koncie proxy!
WSKAZÓWKA: Sprawdź listę xauth ... jeśli odzwierciedla magiczne ciasteczko.
źródło
Dodałbym to jako komentarz, ale nie mam wystarczającej liczby przedstawicieli. Dodanie jeszcze jednej linii do rozwiązania sorina działało dla mnie.
Otwórz plik konfiguracyjny ssh za pomocą
vim ~/.ssh/config
Następnie dodaj do niego następujące wiersze:Możesz dwukrotnie sprawdzić swoją
xauth
lokalizację za pomocą:źródło