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/null
ancak 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
, xauth
yü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 ssh
sunucuya girmeyi denerseniz , kullanıcının .Xauthority
dosyası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
-x
Düğmeyle de aynı şeyi yapabilirsiniz :
$ ssh -x root@server
Bu yalnızca bu mesajı geçici olarak devre dışı bırakacaktır, ancak xauth
uzak sunucuya kuramıyorsanız veya istemiyorsanız iyi bir seçenektir .
Bu genellikle varsayılandır, ancak olmaması durumunda, sshd
sunucunuzu X11Forwarding in kapalı olacak şekilde ayarlayabilirsiniz /etc/ssh/sshd_config
.
X11Forwarding no
Genellikle # 2 kullandığım 3 yöntemden, çünkü çoğu zaman X11Forwarding
sunucuları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/config
dosyanı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 yes
varsayılan olarak üzerinde çalışmak istiyorsanız en uygun yöntem 2 gibi görünüyor , ancak daha sonra ssh
müşteri perspektifinden belirli bağlantılar için seçerek devre dışı bırakın .
Genelde ForwardX11 yes
her 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 yes
sizin de $HOME/.ssh/config
dosyayassh -X user@server
X11Forwarding
sunucuda tamamen devre dışı bırakın, böylece izin verilmez.Benim durumumda /etc/ssh/sshd_config
sorunu çözmek için bu dizeyi eklemek :
X11UseLocalhost no
locahost
X11 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 xauth
gerç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 ForwardX11
olarak, ana bilgisayar bazında yapılandırabilirsiniz , böylece yalnızca server
bu ş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-xauth
neredeyse 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 ~/.Xauthority
boş 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_config
Uzaktan 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.log
hatayı 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_config
RHEL sunucunuzda aşağıdaki 2 seçeneği ayarlayın
X11Forwarding yes
X11UseLocalhost no
sudo /etc/init.d/sshd reload
sudo yum install xauth
ssh -X yourname@rhelbox