SSH tidak dapat melakukan itu karena protokol SSH tidak menyertakan nama host yang diminta dalam panggilan. (HTTP adalah salah satu dari beberapa protokol yang menyertakan hostname yang diminta, yang dapat digunakan untuk hosting virtual.) Ada beberapa hal lain yang bisa Anda coba:
Anda dapat membuat pengguna terpisah untuk setiap subdomain, tetapi dengan UID yang sama dengan pengguna "utama". Subdomain-pengguna akan memiliki direktori home mereka diatur ke subdirektori. Contoh:
Gunakan modul PAM untuk mengautentikasi berdasarkan subdomain. Jika modul semacam itu ada, saya tidak tahu apa yang akan terjadi, tetapi mungkin layak untuk dilihat.
Gunakan kunci SSH terpisah untuk setiap subdomain. Di sisi klien, atur .ssh/configagar Anda bisa mengetik ssh subdomainuntuk membuatnya masuk dengan kunci yang benar. Di sisi server, minta setiap kunci publik authorized_keysdiawali dengan kata-kata environment="DOMAIN=subdomain". Di sisi server, juga membuat .ssh/rcfile yang akan cd ke direktori yang tepat berdasarkan DOMAINvariabel lingkungan. Ini mengharuskan server untuk dikonfigurasikan PermitUserEnvironment yes.
Terima kasih! Kedengarannya seperti solusi yang bagus. Saya akan mencobanya.
kapale
Saya sebenarnya ingin juga menyarankan solusi dengan kunci SSH dan, khususnya, mengekspor vars ENV dari mesin asal koneksi tetapi dia bertanya tentang memiliki direktori HOME dan tidak hanya cdke dalamnya jadi saya tidak berpikir itu adalah solusi yang baik.
Florin Asăvoaie
+1, ide kunci SSH sangat pintar dan saya tidak tahu Anda bisa mengatur lingkungan per kunci seperti itu.
tgies
8
Ini TIDAK mungkin karena protokol SSH tidak mengirim nama host yang diminta di manapun dalam paket.
Gagasan saya untuk mengimplementasikan ini adalah menggunakan sesuatu seperti OpenVZ untuk mengisolasi subdomain dan memiliki IP terpisah untuk setiap subdomain.
cd
ke dalamnya jadi saya tidak berpikir itu adalah solusi yang baik.Ini TIDAK mungkin karena protokol SSH tidak mengirim nama host yang diminta di manapun dalam paket.
Gagasan saya untuk mengimplementasikan ini adalah menggunakan sesuatu seperti OpenVZ untuk mengisolasi subdomain dan memiliki IP terpisah untuk setiap subdomain.
sumber