Ssh bağlantılarını nasıl bağlayabilirim?


20

SSH olsa giriş yapan çoğu (hepsi değil) kullanıcılar için bir chroot hapishane kurmak istiyorum. OpenSH'nin en son sürümleriyle mümkün olduğunu duydum, ancak nasıl yapılacağını bulamadım. "Nasıl Yapılır?" İfadesinin tümü eski bir sürümü düzeltme ekinden bahseder ve düzeltme eki artık kullanılamaz.

Debian asitle çalýţýyorum.

Yanıtlar:


13

Bu amaçla rssh kullanıyorum.

Bunu yapmanın yeni bir yolu var ve son ssh sürümlerinin yerleşik bir özelliğidir.

İşte Undeadly hakkında bir makale .


6

Sadece ssh ve ssh üzerinden başka bir sunucuya (doğrudan dış dünyaya bağlı olmayan) giriş yapabilen bir kullanıcı kurmak zorunda kaldım. Cstamas ve ericmayo tarafından bağlantılar iyi bir başlangıç ​​oldu.

Temel olarak, / etc / ssh / sshd_config dosyasına aşağıdakileri ekledim:

Kullanıcı Kullanıcısını Eşleştir
  ChrootDirectory / chroot / kullanıcım

Oradan, / chroot / myuser altındaki chroot ortamını oluşturmak zorunda kaldım. / Bin / bash ve / usr / bin / ssh ve ihtiyaç duydukları paylaşılan kütüphaneleri kopyaladım (ldd bunları gösterecek). Daha büyük bir ortam için, muhtemelen gerekli yürütülebilir dosyaların statik olarak bağlı sürümlerini derlemek mantıklı olacaktır.

Bash hemen çalıştı, ssh'ın çalışması için .ssh dizinini, / etc / passwd, /etc/nsswitch.conf ve / lib / libnss_ * kopyalarını ve / dev / null, / dev / tty ve mknod aracılığıyla / dev / urandom.


2
mkdir /chroot
mkdir -p /chroot/home/<user_name>

mkdir /chroot/home/<user-name>/bin  
cp -pr /bin/bash /chroot/home/<user_name>/bin/.  
cp -pr /bin/ls /chroot/home/<user_name>/bin/.  
cp -pr /lib64 /chroot/home/<user_name>/.

/ Etc / sshd_config dosyasını düzenlemeniz ve addd

ChrootDirectory /chroot/%h

Ve sshd arka plan programını yeniden başlatın.

Tüm söyleniyor, dürüstçe sftp daha iyi bir seçenek olduğunu düşünüyorum.

Ayrıca, yararlı olursa bu url bulundu.

http://www.techrepublic.com/blog/opensource/chroot-users-with-openssh-an-easier-way-to-confine-users-to-their-home-directories/229


1

Ortak anahtar kimlik doğrulaması kullanıyorsanız, chroot hapishanesini ayarlamak için yetkili anahtarlardaki "komut" seçeneğini kullanabilirsiniz.

~ / .Ssh / authorized_keys:

command="/path/to/the/chroot/script" ssh-dss keydata.....keydata... user@host

Ortak anahtar kimlik doğrulamasını kullanmıyorum, kimlik doğrulaması bir parola ve kullanıcı adı ile yapılır
Malfist

0

Bildiğim kadarıyla OpenSSH'nin yeni sürümleri sadece SFTP bağlantıları için chroot'a izin veriyor. Denedim ve işe yarıyor. Ancak SSH için mevcut çözüm chrootssh yamasıdır. SourceForge sitesine göz atın ve dosya yok, bu yüzden durduğunu düşünüyorum.

Debian Etch için burada bazı dosyalar vardır: http://debian.home-dn.net/etch/ssh/

Burada başka çözümler de var: http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html , chrootssh dahil.


-1 Maalesef, Yanıtınız yıllar önce yazdığınızda doğruydu, ama artık değil.
Chris S
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.