Terminalsiz fakat port yönlendirme olmadan ssh hesabı nasıl kurulur?


4

Arkadaşlarıma verebileceğim yeni bir kullanıcı hesabı oluşturmaya çalışarak ileriye dönük bilgisayarımda SSH yapabilmelerini ve yalnızca belirli bağlantı noktalarının yönlendirilmesine izin vermelerini sağlıyorum.

Arkadaşlarımın bir kabuğunun olmasını veya hangi portları ilerletmelerine izin verileceklerini değiştirmelerini istemiyorum.

örnek oturum: joe (friend) PuTTY kullanarak (önceden ayarlamış, bilgisayarları iyi değil) example.com'a (İnternet'e bakan bilgisayarım) kendisine 8080,1990,25565 bağlantı noktasını (ne sonu ile) iletir? istediği bağlantı noktaları, tercihen aynı sayılarda kalırlar) örnek ssh komutunu benzer yapmak için (ancak bilgisayarımdaki bağlantı noktalarını değiştirebilir!)

ssh -N restricteduser@example.com -p443 -L8080:192.168.1.2:8080 -L1990:127.0.0.1:1990 -L25565:127.0.0.1:25565

sonra, diğer arkadaşı smith ile aynı hikaye (aynı portlar, aynı kullanıcı bile) linux kullanıyor, bu yüzden macun kullanamazsınız.

Diğer tüm kullanıcılar için varsayılan SSH işlevselliklerini bırakmak da mümkün mü?

Bulduğum bu oldukça öne ediliyordu anlamadı ve onlar port yönlendirme kısıtlayan kapattığı sanmıyorum, ben google araştırma yaparken, ancak ne yazık ki


Güzel soru ..
atx

Yanıtlar:


4

Aklıma gelen en basit yöntem SFTP'yi devre dışı bırakmak ve kabuğunu / usr / sbin / nologin veya benzeri olarak değiştirmektir (“Bu hesap şu anda kullanılamıyor” yazıyor ve çıkıyor).

Makinenizdeki kullanıcılarının altındaki dosyaları saklama konusunda endişelenmiyorsanız, çözümden bir / etc / passwd uzaktasınız. Sabit diskinizi hurdalıkla doldurma konusunda endişeleniyorsanız, kota ayarlamayı önerebilir miyim? ;)

Kullanılabilir bağlantı noktalarını kısıtlamak için, sshd_config içindeki "permitopen" bu amaca iyi hizmet etmelidir. İstediğiniz şeyi yapmaz, çünkü yalnızca -L yönlendirme için belirli bir ana bilgisayar hedefleri kümesi hariç tümüne izin vermez, ancak bu tür özel gereksinimleriniz varsa, bu kullanıcılar için özel olarak ayrı bir sshd çalıştırmak uygun olabilir. kısıtlamaları.


deneyecek, işe yarayabilir gibi geliyor. Bu yeterince iyi çalışıyorsa, cevap olarak seçeceğim.
ademalld

denediğim gibi bununla ilgili problemler: yeni kullanıcı için kabuk / bin / rbash olmalı, değiştirilmiş bir $ PATH ile boş bırakmalı, herhangi bir komutun hepsini geçersiz kılmalı ve ssh oturumu connect üzerine kapatılmamalı (/ user / sbin ile olduğu gibi) / nologin) ve sshd config içinde eşleştirilen $ username, kullanıcı bazında gerekli tüm ayarları değiştirmek için iyi çalışır.
admalledd,

1
-N ile uzak bir kabuk asla başlatılmamalıdır, (Bu aslında -T'ye ihtiyaç duyabilir, ama sanmıyorum.) Bu yüzden nologin sadece port yönlendirme için uygulanmadı. PATH değerini boş olarak ayarlamak, birinin değişkenleri nasıl ayarlayacağını bilmesi ya da komutun tam yoluyla bir komutu çalıştırmanın sakıncası yoksa (örneğin, / usr / bin / nmap)
Jeremy Sturdivant

çünkü fikir, -NI use / bin / rbash ('r' değil) kullanacağınız veya ortam değişkenleri ayarlayamadığınız veya bunlarda '/' komutunu çalıştıran komutlar kullanamayacağımı düşünemiyorum (buna ./foo ve / bin / *)
11'te, öğleden

Yani sadece -N kullanmayan kullanıcıları önyüklemek yerine, bazı standartlara göre hiçbir şey yapmalarına izin vermeyen bir kabuk verdiniz. Kabuklarını her zaman / bin /
cat'a
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.