Wie man eine Webschnittstelle für den SFTP-Server bereitstellt

7

Wir müssen unseren Kunden Dateien sicher bereitstellen. Wir möchten, dass der Transport verschlüsselt wird, Benutzer sollten Benutzer / Passwort benötigen und über das Web, FTP / SFTP und Curl auf ihre Dateien zugreifen können.

Die naheliegende Idee ist, openssh und seinen SFTP-Server zu verwenden. Ich sehe jedoch nicht, wie ich eine Webschnittstelle für den SFTP-Server bereitstellen kann.

Mit anderen Worten, während die meisten Clients automatisierte Skripte verwenden, um ihre Dateien abzurufen, müssen sie gelegentlich die Dateien manuell von einer Webseite abrufen (was bedeutet, dass sie ihren Benutzer / ihr Kennwort manuell eingeben müssen).

Irgendwelche Ideen?

edit: Entschuldigung, ich habe vergessen zu erwähnen, dass wir beabsichtigen, diese Dateien von einem Linux-Server aus bereitzustellen

user23398
quelle

Antworten:

4

Wenn Sie über "sftp: //" -Links verfügen, ist in der Tat ein sftp-fähiger Client registriert, der für die Verarbeitung des sftp-UNC registriert ist, und Sie müssen sich erneut anmelden, es sei denn, Sie geben den Benutzernamen / das Kennwort im unc ... dh sftp: // an Benutzer: Passwort @ xxxx / Pfad / Datei. Dies macht den Zweck, einen vom http-Server getrennten SFTP-Server zu haben, wirklich zunichte.

Warum nicht einfach eine HTTPS-Sitzung mit der von Ihnen gewählten Authentifizierungsmethode einrichten und den HTTP-Server die Dateien austeilen lassen? Wenn Sie Apache verwenden, können Sie das Durchsuchen von Verzeichnissen zulassen, und es wird automatisch die Verzeichnisliste aus einem bestimmten Verzeichnis generiert ... und Sie können den SFTP-Pull aus demselben Verzeichnis ausführen. (wenn Sie beide verwenden möchten)

Wenn Sie nicht weiter mit sftp arbeiten ... vergessen Sie nicht, die Benutzeranmeldungen mit ssh so einzuschränken, dass NUR sftp und / oder scp zugelassen werden ... oder Sie lassen sich einer großen Sicherheitslücke aussetzen.

TheCompWiz
quelle
Das klingt interessant ... aber einige Dinge sind mir nicht klar. Können Sie mich auf ein Material verweisen, das zeigt, wie das geht? - Entwickler versucht, Admin-Sachen zu machen :)
user23398
Für den schreibgeschützten Zugriff ist HTTPS in Ordnung. Aber wenn Sie einen beschreibbaren Zugriff wünschen, was wäre der beste Weg, um dies zu erreichen? Ich sehe nichts besseres als webdav, trotz seines Rufs als archaisch.
Sridhar Sarnobat
https ist wirklich nicht für die Dateiübertragung gedacht. webdav hat einige zusätzliche nicht standardmäßige http-Methoden hinzugefügt, um zusätzliche Dateiübertragungsfunktionen hinzuzufügen. Dies ist jedoch sehr verpönt. Wenn Sie ernsthaft Dateien hin und her übertragen möchten, bleiben Sie bei einem Dateiübertragungsprogramm wie firezilla. Es ist kompatibel mit sftp / scp / ftp / etc ... und kostenlos. Auf dem Server wird dringend empfohlen, aus Sicherheitsgründen "Jails" einzurichten und zu verhindern, dass Benutzer Zugriff auf Dinge erhalten, die sie nicht haben sollten.
TheCompWiz
2

Haben Sie den Dateimanager in Usermin in Betracht gezogen ? Sie können Usermin über HTTPS bereitstellen, und das ist sicher. Obwohl Sie nicht erwähnt haben, welches Betriebssystem Sie verwenden, sind Webmin / Usermin für eine Vielzahl von Systemen verfügbar.

Josh
quelle
Es sieht so aus, als ob usermin / webmin eher für interne Benutzer als für externe Clients gedacht ist, die niemals Optionen zum Ändern von Kennwörtern, Hinzufügen / Entfernen von Benutzern usw. sehen sollten. Habe ich die usermin-Seite falsch gelesen?
user23398
1
Es sieht so aus, als ob UserMin für das gedacht ist, was Sie sagen, aber @Josh hat speziell die Dateimanager-Komponente aufgerufen, die tun soll, was Sie wollen. Es wird gemäß den Dokumenten hochgeladen und heruntergeladen. Stellen Sie einfach sicher, dass die Benutzer keine Rechte an etwas haben, das Sie nicht möchten.
Mfinni
@mfinni das stimmt. Mir waren keine anderen webbasierten SFTP-Lösungen bekannt, daher dachte ich, ich würde Usermin vorschlagen. Es gibt vielleicht bessere Alternativen, mit denen ich nicht vertraut bin.
Josh
2

Warum ist sftp erforderlich? Haben Sie darüber nachgedacht, nur ein Webdav einzurichten? Mit webdav können Benutzer Dateien direkt über HTTP (S) ablegen und abrufen.

Zoredache
quelle
2

Fire FTP-Plugin ( nur ) für den Firefox-Webbrowser.

aallxx
quelle
2

Schauen Sie sich die Verwendung von AnyClient an. Es ist ein kostenloser webbasierter Dienst, mit dem Benutzer von einer Webseite aus eine Verbindung zu FTP / S-, SFTP-, WebDAV- und Amazon S3-Diensten herstellen können, ohne Client-Software installieren zu müssen.

http://www.jscape.com/products/file-transfer-clients/anyclient/

Juan Carlos Arias
quelle
1

Spät zur Party, aber www.monstaftp.com ist ein webbasierter FTP / SFTP / SCP-Client, der kostenlos verwendet werden kann (aber Upgrades hat).

(Haftungsausschluss: Ich bin an diesem Projekt beteiligt.)

Daniel Williams
quelle
0

Sie möchten, dass sie sich über HTTPS anmelden und Download-Links über https: // bereitstellen und den Inhaltstyp ändern, damit die Dateien nicht in das Browserfenster geladen werden.

Sie können der Lage sein , SFTP zu bieten: // Links aber sie werden nur funktionieren , wenn der Benutzer einen ordnungsgemäß konfigurierten Client und erfordert wahrscheinlich , dass sie sich wieder anmelden.

Chris Nava
quelle
Ich versuche zu vermeiden, dass ich selbst Download-Links bereitstellen muss. Ich hatte auf ein einfaches Web-Frontend für einen SFTP-Server gehofft, der dies für mich erledigt.
user23398
Wenn Sie "Verzeichnisindizierung" auf dem HTTP-Server aktivieren, werden die Links automatisch generiert. Seien Sie vorsichtig, da es mit dieser Methode einfach ist, Dateien verfügbar zu machen, die Sie nicht online stellen wollten (die sich jedoch zufällig mit denen befinden, die Sie erstellt haben).
Chris Nava
0

Sie können jederzeit ein kurzes Tutorial zum Herunterladen und Verwenden eines SFTP-Clients für gelegentliche Zwecke bereitstellen.

Ryan Gooler
quelle