Sftp'yi şifre kullanacak, ssh'yi şifre kullanmayacak şekilde ayarlayın


15

Ubshu'da bir kullanıcı openssh ile kurmak mümkündür, böylece ssh şifre kimlik doğrulaması kullanmaz, ancak sftp kullanır mı?

Bunu /etc/ssh/ssh_configyapmak için değiştirirseniz , PasswordAuthentication yeskullanıcıların ssh ve sftp ile giriş yapmak için şifreleri kullanmasının mümkün olduğunu varsayıyorum .

Düzenleme: Amacım bazı kullanıcıların bir anahtar dosyası yerine bir şifre ile sftp izin vermektir. Ancak ssh kullanıcılarının bir parola ile oturum açmasını istemiyorum, onların bir anahtar dosyası kullanmasını istiyorum. Eğer yardımcı olursa, giriş yapabilmek için sftp kullanıcılarına ihtiyacım yok, sadece sftp yapmaları gerekiyor.

Yanıtlar:


26

Anladığım kadarıyla (en azından bu özel sorun için) iki farklı kullanıcı grubunuz var, bunlardan biri SSH üzerinden giriş yapabiliyor ve etkileşimli bir kabuk alabiliyor (grubu arayalım ssh) ve biri SFTP üzerinden giriş yapabiliyor ve sadece bir SFTP alabiliyor shell (grubu arayalım sftp).

Şimdi grupları oluşturmak sshve sftpbirlikte sisteminizde groupaddgruplar (, ilgili kullanıcıları koymak, gpasswd -a $USERNAME $GROUPNAMEsonuna aşağıdaki satırları () ve ekleme ! Bu çok önemli , aramalarınızdan) sshd_configbulunan /etc/ssh/sshd_config:

Match Group sftp
  PasswordAuthentication yes
  # Further directives for users in the "sftp" group

Match Group ssh
  PasswordAuthentication no
  # Further directives for users in the "ssh" group

Hakkında okuyun Matchiçinde direktifi sshd_config (5) ve izin verilen yaklaşık desenleri içinde ssh_config (5) .

Bunun etkili olması için sshişlemi yeniden başlatmanız gerekir :

sudo /etc/init.d/ssh restart


6
Bu iyi belgelenmemiştir, ancak yalnızca bir Eşleşme direktifi kullanılacaktır; en özel yönergeyi en üste koymalısınız. Önce sftp'yi listelerseniz, her iki grupta bulunan bir kullanıcının PasswordAuthentication'a izin verilecektir.
Tobu

Teşekkürler! sshUbuntu kutularımda zaten bir grup var, bu yüzden gerçekten sadece sftpsftp kullanıcılarını bu gruba eklemem ve koymam gerekiyor . Yanıtınızı scponly, sftp kullanıcılarının giriş yapmasını önlemek için kullanarak birleştireceğim .
dar

2
Daha ileriye PasswordAuthenticationayarlanırsa no, bu yine de çalışır mı? Match GroupSftp kullanıcıları için geçersiz kılıyor mu ? Çünkü sahip olduğum şey bu ve işe yaramıyor. Anahtarla ssh yapabilirim, ancak sftp kullanıcısı olamam.
alphadogg

0

Hayır, bunun güvenliği nasıl artıracağını görmüyorum, o zaman ne anlamı var?

yetkili_anahtarlar , peşindeyseniz farklı anahtarlar için farklı komutlara izin verebilir. Aksi takdirde, birkaç hesap oluşturma ve acls veya sudo kullanma seçeneğiniz vardır.


Güvenliği artırmaya çalışmıyorum. Bazı kullanıcıların sftp erişimi için bir anahtar dosyası yerine bir parola kullanmasını kolaylaştırmaya çalışıyorum. Ancak, kimsenin ssh erişimi için bir şifre kullanmasını istemiyorum.
dar

@dar OK; farklı hesaplar. Aynı hesap olsaydı, sftp parolasını bilen biri, bazı profil dosyasının (.ssh / rc, .profile, .bashrc…) üzerine yazabilir ve özel anahtarı bilen biriyle aynı ayrıcalıklara sahip olabilir.
Tobu

0

Burada karanlıkta bir bıçak almak, ama bu ipliği ilginç bulabilirsiniz.

SFTP kullanıcılarını ana dizinlerine hapsetmek adil olur mu?


Orada PasswordAuthentication hakkında hiçbir şey göremiyorum, yanılıyorsam beni düzeltin.
dar

Hayır, haklısın. SFTP ve SSH ile ne yapmak istediğiniz açık değildi. Diğer yorumdan, kullanıcıların SSH için değil SFTP için bir şifre kullanmasını istediğinizi görüyorum. Neden?
Tyler K

Çünkü sftp kullanması gereken bu kullanıcılar zorlu dosyaları bulur, ancak şifreleri nasıl yazacaklarını anlarlar. Sftp için bir kullanıcı deneyimi sorununa dayanır. Ancak şifreleri ssh karışımının dışında tutarak saldırı alanı alanını en aza indirmek istiyorum.
dar

SFTP önce bir ssh tüneli açıp FTP yoluyla dosya ileterek çalışır. İkisini gerçekten boşamazsınız. Sanırım bazı ACL'ler kurabilirsin, ama bu gerçekten mantıklı değil.
Tyler K
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.