Zaczynam bardzo małą firmę hostingową dla kilku przyjaciół i małych klientów, nic wielkiego.
Chcę dać moim „klientom” prawo do zarządzania swoimi plikami na serwerze. Nienawidzę FTP, ponieważ nie jest bezpieczny i moim zdaniem jest przestarzały.
Chciałbym więc zezwolić moim użytkownikom na łączenie się za pośrednictwem SFTP, ale nie pozwalać im na łączenie się przez SSH. (Wiem, wiem, SFTP używa SSH). Ale zastanawiałem się, czy to możliwe?
Nie musiałbym więc instalować usługi FTP na serwerze i wszystko byłoby świetnie!
Istnieje skorupa scponly, co to robi. Może też chrootować .
źródło
Kasa rssh, która jest fałszywą powłoką, która pozwala sftp, ale zaprzecza ssh
Więcej o RSSH
http://www.pizzashack.org/rssh/
RPM
http://pkgs.repoforge.org/rssh/
Możesz skonfigurować rssh, aby zezwalał / odmawiał innym zachowaniom, takim jak sft, scp itp.
źródło
Możesz zmodyfikować / etc / passwd i dać temu użytkownikowi fałszywą powłokę, aby nie mógł używać ssh.
źródło
/bin/false
bez ssh lub sftpUżywam metody określania powłoki użytkownika jako / bin / false, jak wspomniano. Musisz jednak upewnić się, że / bin / shell znajduje się w / etc / shells. Potem działa ssh = no ftp = ok.
Używam również vsftpd i dodaję ten
chroot_local_user = YES do /etc/vsftpd/vsftpd.conf, aby ftp-ers nie widział daty innej niż ich własna.
Zaletą tych prostych zmian jest brak irytującej konfiguracji ssh config dla każdego użytkownika.
źródło
Nie zapomnij znaleźć linii
UsePAM yes
i skomentować:Bez wyłączenia tej opcji serwer SSH ulegnie awarii podczas ponownego ładowania / ponownego uruchamiania. Ponieważ nie potrzebujesz wymyślnych funkcji PAM, w porządku.
źródło
Konfiguracja ssh włączyć tylko SFTP dla wybranych użytkowników, jest to dobry pomysł i działa prawidłowo, pod warunkiem, że zainstalować albo
scponly
alborssh
.rssh
działa dobrze, chyba że musisz skonfigurować więzienie, w tym przypadku postaraj się postępować zgodnie z instrukcjami dostarczonymi przez instrukcje CHROOT jest szalony, co prowadzi do „kopiowania” dużych części plików wykonywalnych systemu i biblioteki tuż pod „więzieniem każdego użytkownika”, w tymrssh
samej powłoki. Jest to metoda marnująca przestrzeń.scponly
wymaga głębokiego zrozumienia konfiguracji, co prowadzi do stale występującego problemu odrzucania loginu w przypadku konfiguracji więzienia.Najprostszym sposobem, aby umożliwić funkcjonalność „ftp” z prawidłowo działającym więzieniem, wsparcie SSL / TLS dla bezpiecznych transakcji i logowania, jest użycie „starego, ale działającego” VSFTPD, który instaluje się szybko i czysto i oferuje wszystkie możliwości konfiguracji w razie potrzeby i, na koniec ale nie mniej ważne: to działa!
Maurizio.
źródło
Niestety wszystkie odpowiedzi są bardzo mylące: wykonaj następujące czynności:
Najpierw utwórz sftp użytkownika i grupę sftp
Utwórz osobny katalog jako root dla plików SFTP:
sudo mkdir -p /home/sftpdir
Uruchom ponownie i sprawdź status usługi sshd
usługa sudo sshd restart
stan usługi sshd
Utwórz plik Shell. Dodaj wykonanie, aby wyświetlić komunikat powiadomienia
sudo touch / bin / sftponly echo -e '#! / bin / sh \ necho "To konto jest ograniczone tylko do dostępu SFTP."' | sudo tee -a / bin / sftponly
Nadaj uprawnienia do wykonywania i dołącz do pliku muszli
sudo chmod a + x / bin / sftponly echo "/ bin / sftponly" | sudo tee -a / etc / shells
w końcu przetestuj i nie powinieneś być w stanie się połączyć.
Szablon do użycia klienta SFTP z kluczem SSH i podstawową szczegółowością:
sftp -v -oPort = $ RANDOM_PORT -i ~ / .ssh / $ SSH_KEY.pem sftpuser @ $ HOST
źródło