Vraag SFTP toestaan ​​maar SSH niet toestaan?


Ik start een heel klein hostingbedrijf voor een paar vrienden en kleine klanten, niets groots.

Ik wil mijn "klanten" het recht geven om hun bestanden op de server te beheren. Ik haat FTP omdat het niet veilig is en naar mijn mening overbodig is.

Daarom wil ik mijn gebruikers toestaan ​​verbinding te maken via SFTP, maar niet toestaan ​​dat ze verbinding maken via SSH. (Ik weet het, ik weet het, SFTP gebruikt SSH). Maar ik vroeg me af, is het mogelijk?

Ik hoef dus geen FTP-service op de server te installeren en alles zou geweldig zijn!


87
2018-01-28 20:40


oorsprong




antwoorden:


Beginnend met versie 4.9 OpenSSH (niet beschikbaar in centos 5.x maar ChrootDirectory-functie was teruggestuurd) heeft een internal-sftp subsysteem:

Subsystem sftp internal-sftp

En blokkeer vervolgens ander gebruik:

Match group sftponly
     ChrootDirectory /home/%u
     X11Forwarding no
     AllowTcpForwarding no
     ForceCommand internal-sftp

Voeg uw gebruikers toe aan de sftponly groep. U moet de homedirectory van de gebruiker wijzigen in / vanwege de chroot en /home/user moet eigendom zijn van root. Ik zou ook gaan /bin/false als de shell van de gebruiker.


113
2018-01-28 20:46



Wauw! Super geweldig! Ik test dit en kom hier terug om te valideren. Hartelijk bedankt! - TomShreds
+1 voor het ChrootDirectory-ding! - Kyle Hodgson
Na dit te hebben gedaan, kan mijn sftponly gebruiker geen toegang door ssh krijgen en kan door sftp verbinden. Het kan echter helemaal geen bestand zien! Ondanks dat deze bestanden toestemming hebben voor deze gebruiker. :-( - Emilio Nicolás
Als je dit wilt doen en een item in je sshd_config wilt vinden met "/ usr / lib / openssh / sftp-server" bestaat dit hier: serverfault.com/questions/660160/...  - interne-sftp is "nieuwer, beter en gemakkelijker" - Xosofox


Er is een schaal scponly wat doet dit. Het kan chroot te.


19
2018-01-28 21:11



Dit zou geweldig zijn als je zowel SFTP-gebruikers als SSH-gebruikers nodig hebt. Je vervangt gewoon de shell in / etc / passwd voor degenen die alleen beperkt zijn tot SFTP. - Dragos


Afrekenen rssh wat een nepschaal is die sftp toestaat maar ssh ontkent

Meer over RSSH

http://www.pizzashack.org/rssh/

RPM

http://pkgs.repoforge.org/rssh/

Je kunt rssh configureren om verschillende gedragingen zoals sft, scp etc. toe te staan ​​/ te weigeren.


4
2018-02-02 13:15



Leuk. Dit is de gemakkelijkste manier om te configureren zonder sshd_config helemaal aan te raken. Wijzig gewoon de shell in passwd-bestand en klaar. - Tomofumi


Je kunt / etc / passwd wijzigen en die gebruiker een valse shell geven zodat hij ssh niet kan gebruiken.


2
2018-01-28 20:46



Heb je dit getest? - splattne
Wanneer ik probeer de shell in te stellen /bin/false noch ssh of sftp werkt - Brad Mace
/ bin / false is om elke vorm van inloggen te weigeren, dat is hier niet de juiste aanpak. Het geaccepteerde antwoord van Rob Wouters 'is hoe je gebruikers moet beperken tot SFTP, niet door de shell te veranderen. Als je de shell wilt veranderen @ Stone's asnwer zou een goed idee zijn. - jwbensley
dus WAT shell moet worden gebruikt in de veronderstelling dat / bin / bash niet acceptabel is en / bin / false of / sbin / nologin toegang weigeren? - Putnik


Ik gebruik de methode om de gebruikersshell te specificeren als / bin / false zoals vermeld. U moet er echter voor zorgen dat / bin / shell zich in / etc / shells bevindt. Dan werkt het ssh = nee ftp = ok.

Ik gebruik ook vsftpd en voeg dit toe
chroot_local_user = YES naar /etc/vsftpd/vsftpd.conf zodat ftp-ers geen andere dan hun eigen datum kunnen zien.

Het voordeel van deze eenvoudige wijzigingen is geen irritante configuratie voor SSH-configuratie voor elke gebruiker.


1
2017-09-23 17:09





Vergeet niet om de regel te vinden UsePAM yes en becommentarieer het:

#UsePAM yes

Zonder dit uit te schakelen, crasht uw SSH-server bij het opnieuw laden / herstarten. Omdat je geen fancy functies van PAM nodig hebt, is dit prima.


1
2018-01-25 22:02





Het configureren van ssh om alleen sftp in te schakelen voor een aantal geselecteerde gebruikers is een goed idee en het werkt goed, op voorwaarde dat u een van beide installeert scponly of rssh.

rssh werkt goed, tenzij je de gevangenis moet configureren, probeer in dit geval de instructies van CHROOT te volgen. Handleidingen zijn gek, wat leidt tot het "kopiëren" van grote delen van systeemuitvoerbare bestanden en bibliotheek net onder "elke gebruikersgevangenis", inclusief rssh shell zelf. Het is een methode om de ruimte te verspillen.

scponly heeft een grondige kennis van de configuratie nodig die leidt tot het altijd aanwezige probleem van het weigeren van inloggen bij het instellen van de gevangenis.

De eenvoudige manier om "ftp" -functionaliteiten met de juiste werking van de jail toe te staan, SSL / TLS-ondersteuning voor veilige transacties en inloggen, is om een ​​"oude maar werkende" VSFTPD te gebruiken, die snel en overzichtelijk wordt geïnstalleerd en alle configuratiemogelijkheden biedt waar nodig en maar niet de minste: het werkt!

Maurizio.


0
2018-04-23 12:47