Yanıtlar:
Bu mesajlar, yalnızca SSH seçeneklerini kullanarak 3 yöntemden biriyle elimine edilebilir. Siz de her zaman mesaj da gönderebilirsiniz, /dev/nullancak bu yöntemler yalnızca yakalama ve boşaltma yerine, yapılandırma yoluyla mesajla uğraşmaya çalışır.
Yükseltdiğiniz sunucu .Xauthority, xauthyüklü olmadığı için kullanıcının dosyasında bir giriş oluşturamayacağından şikayet ediyor . Böylece bu sinir bozucu mesajdan kurtulmak için her sunucuya kurabilirsiniz.
Fedora 19'da şu şekilde kurarsınız xauth:
$ sudo yum install xorg-x11-xauth
Daha sonra sshsunucuya girmeyi denerseniz , kullanıcının .Xauthoritydosyasında bir girdi oluşturulduğunu belirten bir mesaj görürsünüz .
$ ssh root@server
/usr/bin/xauth: creating new authority file /root/.Xauthority
$
Sonraki girişler artık bu mesajı göstermeyecek.
sshİstemciye, SSH parametresi ForwardX11'i ekleyerek X11 iletmeyi etkinleştirmeyi denememesi talimatını verebilirsiniz .
$ ssh -o ForwardX11=no root@server
-xDüğmeyle de aynı şeyi yapabilirsiniz :
$ ssh -x root@server
Bu yalnızca bu mesajı geçici olarak devre dışı bırakacaktır, ancak xauthuzak sunucuya kuramıyorsanız veya istemiyorsanız iyi bir seçenektir .
Bu genellikle varsayılandır, ancak olmaması durumunda, sshdsunucunuzu X11Forwarding in kapalı olacak şekilde ayarlayabilirsiniz /etc/ssh/sshd_config.
X11Forwarding no
Genellikle # 2 kullandığım 3 yöntemden, çünkü çoğu zaman X11Forwardingsunucularımın çoğunu isteyeceğim , ancak sonra X11....uyarıları görmek istemiyorum.
Bu mesajın çoğu zaman görünmeyeceği bile. Genellikle, yalnızca $HOME/.ssh/configdosyanızda aşağıdaki girişler olduğunda , en üstte bulunurlar .
ServerAliveInterval 15
ForwardX11 yes
ForwardAgent yes
ForwardX11Trusted yes
GatewayPorts yes
Sonuçta bu X11..mesajların oluşumunu yönlendiren bu kurulumdur, bu nedenle, eğer tekrar ForwardX11 yesvarsayılan olarak üzerinde çalışmak istiyorsanız en uygun yöntem 2 gibi görünüyor , ancak daha sonra sshmüşteri perspektifinden belirli bağlantılar için seçerek devre dışı bırakın .
Genelde ForwardX11 yesher zaman üzerinde çalışmanız tavsiye edilmez . Dolayısıyla, SSH bağlantılarınızı mümkün olan en güvenli malikanede kullanmak istiyorsanız, aşağıdakileri yapmanız en iyisidir:
ForwardX11 yessizin de $HOME/.ssh/configdosyayassh -X user@serverX11Forwardingsunucuda tamamen devre dışı bırakın, böylece izin verilmez.Benim durumumda /etc/ssh/sshd_configsorunu çözmek için bu dizeyi eklemek :
X11UseLocalhost no
locahostX11 iletmeyi kabul etmeyi bırakan üç özdeş Debian 7 makinesi olmalı . Diğer iki X11 iletme hala çalışıyor. Neyin değişebileceği hakkında bir fikrin var mı?
Bugün bununla karşılaştım ve bir ssh ayarına değene kadar kafamı bir süre dövdüm:
RHEL 7 ise (centOS, OEL, vb.) Ve ipv6 devre dışı bırakılmışsa, ihtiyacı:
AddressFamily inet
/ etc / ssh / sshd_config konumunda.
Başka bir küçük değişiklik ise, belirli sunucular için bu mesajı görmeyi bırakmak (X11'i iletmeyi denemekten vazgeçmek) ancak yine de tüm diğer bağlantılar için varsayılanı ForwardX11'e evet tutmaksa olacaktır.
Bu senaryoda, ~ / .ssh / config'nizdeki belirli bir ana bilgisayar (veya aralık) için X11 iletmeyi devre dışı bırakabilirsiniz. Bunun gibi bir şey:
host 10.1.1.*
ForwardX11 no
Teşekkür: Bu, mevcut (ve çok eksiksiz) varolan cevabın hafif bir süslemesidir - yorum yapamadım!
İstemciyi ayrıntılı modda çalıştırıyorsanız ( ssh -v user@host) size
debug1: Remote: No xauth program; cannot forward with spoofing.
ancak xauthgerçekten sunucuya kurulur, o zaman muhtemelen sshd yanlış yerde çalıştırılabilir xauth arar ( çünkü genellikle / usr / X11R6 / bin / xauth ). Bir ayarlayarak bunu düzeltebilir
XAuthLocation /usr/bin/xauth
içinde / etc / sshd / sshd_config (veya ne olursa olsun sunucu ile yapılandırılmış).
Zaten burada verilen tüm mükemmel cevaplara ek ForwardX11olarak, ana bilgisayar bazında yapılandırabilirsiniz , böylece yalnızca serverbu şekilde başarısız olursa ~/.ssh/config, aşağıdaki formdaki dosyanıza bir giriş ekleyebilirsiniz :
Host server server.domain.dom
ForwardX11 no
Bu gibi girdileri tüm yapılandırma kümeleri için alliases olarak da kullanabilirsiniz
Host my.server
HostName server.domain.dom
User user
Port 1234
ForwardX11 no
Bu, SSH ve SCP için Otomatik Tamamlama sunucusu adlarını ayarladıysanız özellikle yararlıdır .
Bu soruya sshd-xauthneredeyse on yıllık bir hatayla rastladım . İlk olarak atlanan xauth, ikincisi böceği ele alan iki çözüm bildirildi .
Çözüm 1 - xauth baypas
Uzaktan /etc/ssh/sshd_config:
X11Forwarding no
X11DisplayOffset 10
X11UseLocalhost yes
Uzaktan kumanda ~/.Xauthorityboş veya mevcut değil
Yerelde:
Xephyr -ac -screen 1280x800 -br -reset :2 &
DISPLAY=:2 ssh -fR 6010:/tmp/.X11-unix/X2 user@remote "DISPLAY=:10 xeyes"
Testte, yerel Ubuntu 18.05'i çalıştırıyordu, uzaktan Debian Jesse'yi çalıştırıyordu.
Ben de bu çözümü başka bir soruya cevap olarak gönderdim .
2. Çözüm - sshd / xauth hatasını adresleyin
Bu çözüm, tek başına yeterli olmamakla birlikte, yukarıdaki systempoet çözümüne yakındır .
/etc/ssh/sshd_configUzaktan kumandadaki değişikliklere ek olarak :
AddressFamily inet
/etc/hosts uzaktan kumanda da değiştirildi:
::1 localhost ip6-localhost ip6-loopback
İkisinden biri yorumlandıysa, hata mesajı
X11 forwarding request failed on channel 0
ssh -X ...aramadan sonra belirdi . Ayrıca /var/log/auth.loghatayı gösterdi:
sshd[...]: error: Failed to allocate internet-domain X11 display socket
Hatayı üretmek için test edin (düzeltmeden önce):
Yerel makine:
$ Xephyr -ac -screen 1280x800 -br -reset -terminate :2 &
$ DISPLAY=:2 ssh -X user@remote
X11 forwarding request failed on channel 0
/etc/ssh/sshd_configRHEL sunucunuzda aşağıdaki 2 seçeneği ayarlayın
X11Forwarding yes
X11UseLocalhost no
sudo /etc/init.d/sshd reload
sudo yum install xauthssh -X yourname@rhelbox