ssh -Y ve sonra su - <başka bir kullanıcı> ve hala X uygulamalarını yerel makinenize iletme


13

Uzaktan çalışan bir linux uygulamasını 'getirmek' (yani yerel olarak çizmek) için yeterince kolaydır: ssh -YUzak makineye ve bir uygulamayı çalıştırırsam, bu uygulama kesinlikle yerel masaüstümde yeterince açılır.

Ancak, uzak makinede ssh'ed iken, ben sufarklı bir kullanıcıya, X uygulamasını yerel makineme iletemiyorum . Diyor wrong authentication.

Bu davayla nasıl başa çıkacağımdan emin değilim. echo $DISPLAY(Başlangıç belirlediği hala doğrudur ssh -Yoturum açma), ancak oturum tanımlama muhtemelen sadece ssh oturum başlangıç kullanıcı için ayarlanır.

Bu zorluğun üstesinden nasıl gelebilir ve farklı kullanıcılardan çalıştırılan diğer X uygulamalarını nasıl iletebilirim?

Doğrudan ssh'ing olmamasının nedeni, bu kullanıcının ssh aracılığıyla erişilebilir olmasını istemememdir (bu sunucuya ssh yapmaya çalışan botlar için kolay bir hedef olan "sanal kutu" kullanıcısıdır) ...

Yanıtlar:


12

X11 iletme etkinken ssh aracılığıyla bir kaldırma makinesine bağlandığınızda, sunucudaki ssh .Xauthoritykullanıcının ana dizininde bir dosya oluşturur . Ssh bir TCP soketindeki X11'i dinlediğinden, herkes bağlanabilir. Herkes bağlantı kurabileceğinden, ekranınızı yalnızca herkesin kullanmasını engelleyecek bir yola ihtiyacımız var. Bu .Xauthoritydosya ile yapılır . Dosya, istemcinin bağlanmasına izin verilmesi gerektiğini doğrulayan X11 sunucusuna sunulan bir "çerez" içerir.

Tüm ayrıntıları atlayarak, bu .Xauthoritydosyayı hedef kullanıcınızın ana dizinine kopyalarsanız (ve sahiplik verirseniz) bağlanabilmeniz gerekir.


Bunu yaptıktan sonra bile DISPLAY değişkeninin kullanıcıları değiştirdikten sonra doğru şekilde ayarlanması gerektiğini belirtmek gerekir. Ortamı filtreleyebilecek 'sudo' kullanırken bu bir sorun olabilir.
Chris Arguin

8
  1. ssh -Y kendiniz olarak uzak makineye.
  2. Oraya bir kez yazın xauth list. MAGIC-COOKIE öğelerinin bir listesi görünür. Giriş oturumunuz büyük olasılıkla listenin en altındadır. (Ana bilgisayar adına ve UNIX numara koduna bakarak ve kabuklandığınız ana bilgisayar adıyla ve geçerli yerel ana makinenizle karşılaştırarak bunu kontrol edin: ## DISPLAY env değişkeni.)
  3. Kullanıcı değiştirme.
  4. Tür xauth add+ yukarıdan Tüm MAGIC-COOKIE hattı.
  5. Grafikler şimdi görünmelidir. Hızlı bir şekilde test edin xlogo.

2
xauth eklentisinde "+" yok. Örneğin, sadece xauth ubuntu / unix ekle: 10 MIT-MAGIC-COOKIE-1 6b49de7c34409d5ac69beab31d12ec94
Ayarlanabilir

1
USER="otherusername" && MAGIC_COOKIE=`xauth list | tail -n1` && su -c "xauth add $MAGIC_COOKIE" $USER && su - $USER
7yl4r

3

Randy'nin cevabını seviyorum ama benim için pek işe yaramadı.

İşte çalışmam gerekenler:

  1. ssh -Y as user1
  2. xauth list | grep `uname -n`
  3. Kullanıcı2'ye geç
  4. unset XAUTHORITY
  5. xauth generate :0 .
  6. xauth add :0 . <KEY-FROM-STEP-2>

Adım 5 ve 6'daki iki noktaya dikkat edin.

Az önce Randy'nin cevabını takip edersem, user2'nin XAUTHORITYdeğişkeni hala user1'in .Xauthoritydosyasına işaret ediyor . Ve + tuşunun sözdizimi işe yaramadı.


2

Bu bir cevap değil, bu yüzden bir tane bulursanız, bu tercih edilir.

Değilse ve bu bilmecenizin temel nedeni:

Doğrudan ssh'ing olmamasının nedeni, bu kullanıcının ssh aracılığıyla erişilebilir olmasını istemememdir (bu sunucuya ssh yapmaya çalışan botlar için kolay bir hedef olan "sanal kutu" kullanıcısıdır) ...

Bana öyle geliyor ki büyük bir akıl yürütme parçası değil. "Hangi botlar hedefliyor?" WRT iyi yapılandırılmış bir sshd büyük ölçüde ilgisizdir. 22 numaralı limanın etrafında vızıldayacaklar mı? Görünüşe göre öyle. Bu aslında başarı şansları olduğu anlamına mı geliyor?

Rastgele anonim bir bot başarıyla sshd içine kırılmış biri hakkında bir hikaye için googling deneyin . Eminim bir yerde birisine olmuş olmalı (ve elbette, asla bilemeyebilirsiniz), ancak böyle bir rapor bulamıyorum. Kullanılan yapılandırmanın ne olduğunu okumak ilginç olurdu.

SSH düzgün kullanıldığında çok güvenlidir. Eğer olmasaydı, internet ticareti mümkün olmazdı. Peki bu botlar neden rahatsız oluyor? "Düzgün kullanıldığı" ile, öncelikle zorunlu ortak / özel anahtar çiftleriyle kastediyorum. Bunu yaparsanız ve özel anahtarınızın güvenli olduğundan eminseniz (ve olmanız gerekir), sshd konusunda emin olun.

Bütün "hırsızlık girişimlerine" Hiç olur sebebi kullanıcılarının büyük beden olduğunu düşünüyorum yok ) ve tek başına manuel sayfaları ve kullanım şifre koruması okumaz U L hakkında soru sorabilir gibi şeyler ATM kartınızı bir yere "Tahmin et!"

Bununla birlikte, özel anahtarınızı ATM kartınız gibi - fiziksel olarak sizin tarafınızdan güvence altına alınan bir şey olarak (esasen) düşünürseniz , hedef çok daha eterik hale gelir. Tüm bu botların yapabileceği, evet, binlerce makinenin binlerce yıl birlikte çalışarak 2048 bitlik bir anahtarı zorlamak için gerekli olduğunu kanıtlamaktır.

Alıştırma girişimlerinin raporlarını okumaktan bıktıysanız, portunuzu değiştirin. Buradaki insanları poo-poo'yu "belirsiz güvenlik" olarak gördüm, ancak 22 nolu bağlantı noktasında düzgün bir şekilde güvence altına alınan bir sshd 57 nolu bağlantı noktasında daha az güvenli olmayacak, ancak rastgele rahatsız edilmeyecek. Tabii ki, tüm drone düşmanlarınız sadece tüm IP'yi tarayabilir - ama biliyor musunuz? Yapmazlar. Bunun sanırım çünkü aradıkları, bakmamış /etc/ssh/sshd_config, çok daha az eğitimli ve ayarlanmış bir sistemi çalıştıran biri .


Söylediklerinize katılıyorum. ama ben her zaman delicesine güvensizim (yandıktan sonra birçok durumda size öğrettikleri bu değil mi?). Dürüst olmak gerekirse, oturum açmaya çalıştığım pc, bir güvenlik duvarı (dışarıdan erişim yok) oluyor. Bu ssh yüksek bir bağlantı noktasında, zor bir şifre var, ama yine de yardım edemiyorum ama "sanal kutu" genel bir isim olduğunu hissediyorum. birisi bir yerde bir bot koduna dahil etmeyi seçebilir. SSH anahtarları, özellikle şifre koruması ile kullanıldığında harika bir çözümdür. Ama eğer onları kullanacak olsam, usb üzerinde hafif bir linux dağıtımını taşımalıydım.
nass
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.