Alt alan adı başına SSH giriş dizini


12

Her alt alan adı için aynı ssh kullanıcısı için farklı ev dizinleri ayarlamak mümkün olup olmadığını merak ediyorum.

Diyelim ki ssh myuser@example.comana dizininizle giriş yapacaksınız: /www/httpdocs/

ssh myuser@subdomain1.example.comAna dizininizle giriş yaparsanız : /www/subdomain1/

ssh myuser@subdomain2.example.comAna dizininizle giriş yaparsanız : /www/subdomain2/

...

Ve bunun gibi.

Yanıtlar:


19

SSH protokolü çağrıda istenen ana bilgisayar adını içermediğinden SSH bunu yapamaz. (HTTP, istenen ana makine adını içeren birkaç sanal protokoldür, bu da sanal barındırma için nasıl kullanılabilir.) Bunun yerine deneyebileceğiniz birkaç şey daha vardır:

  • Her alt alan adı için ayrı kullanıcılar oluşturabilirsiniz, ancak "ana" kullanıcı ile aynı UID'ye sahip olursunuz. Alt alan kullanıcıları, kendi giriş dizinlerini alt dizine ayarlarlar. Misal:

    useradd -o -u 4711 -d /var/www/subdomain1 subdomain1

  • Alt alana göre kimlik doğrulaması yapmak için bir PAM modülü kullanın. Böyle bir modül varsa, ne olacağını bilmiyorum, ama bakmaya değer olabilir.

  • Her alt alan için ayrı SSH anahtarları kullanın. İstemci tarafında, doğru anahtarla oturum açmak için .ssh/configyazabileceğiniz bir şekilde ayarlayın ssh subdomain. Sunucu tarafında, her bir ortak anahtarı authorized_keyskelimelerle başlatabilirsiniz environment="DOMAIN=subdomain". Sunucu tarafında, ortam değişkenine .ssh/rcbağlı olarak doğru dizine cd yapacak bir dosya da oluşturun DOMAIN. Bu, sunucunun yapılandırılmasını gerektirir PermitUserEnvironment yes.


Teşekkür ederim! Kulağa iyi bir çözüm gibi geliyor. Bir deneyeceğim.
kapale

Aslında SSH anahtarları ile çözüm önermek istedim ve özel olarak, ENV'yi dışa aktarma bağlantı makinesinden farklıdır, ancak sadece cdonlara değil HOME dizinlerine sahip olduğunu sordum, bu yüzden iyi bir çözüm olduğunu düşünmedim.
Florin Asăvoaie

+1, SSH anahtar fikri son derece zekidir ve her anahtar için ortamı böyle ayarlayabileceğinizi bilmiyordum.
tgies

8

SSH protokolü istenen ana bilgisayar adını paketlerin hiçbir yerine göndermediğinden bu mümkün DEĞİLDİR.

Bunu uygulama konusundaki düşüncem, alt alanları izole etmek ve her alt alan için ayrı bir IP'ye sahip olmak için OpenVZ gibi bir şey kullanmak olacaktır.


Bir olasılık olurdu, ama buna ihtiyacım var durumda çok fazla çaba. Teşekkür ederim
kapale
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.