Im Vergleich zu FTP bietet der SSH-basierte SFTP-Dienst eine bessere Sicherheit (Übertragung von Konten und Passwörtern im Nicht-Klartext) und eine bequemere Berechtigungsverwaltung (Einschränkung des aktiven Verzeichnisses des Benutzers). 1. Öffnen Sie ein SFTP-Konto, sodass Benutzer Dateien nur über SFTP bedienen können, aber nicht per SSH auf den Server zugreifen können. 2. Beschränken Sie das aktive Verzeichnis des Benutzers, sodass der Benutzer nur im angegebenen Verzeichnis aktiv sein kann, indem Sie die ChrootDirectory-Konfiguration von sftp verwenden Bestimmen Sie die Version
Neue Benutzer und Benutzergruppen erstellen
Active Directory
Grundlegende SSH-Konfiguration
Jetzt können Sie sich per SSH remote beim Server anmelden SFTP konfigurieren
Teilsystem Subsystem bezieht sich auf das Untermodul von ssh. Das hier aktivierte ist das SFTP-Modul. Wir verwenden das im System integrierte interne SFTP, um diesen Dienst bereitzustellen. Tatsächlich können Sie sich nach der Konfiguration mit einem SSH-Konto oder mit dem FTP-Client SFTP anmelden. Wenn Sie möchten, dass sich Benutzer per SFTP, aber nicht per SSH am Server anmelden können, und das Active Directory des Benutzers einschränken möchten, fahren Sie mit der folgenden Konfiguration fort
Übereinstimmung mit [Benutzer|Gruppe] Benutzername|Gruppenname Match [Benutzer|Gruppe] sftp Dies ist die Konfiguration der Berechtigungsgrenze für den angemeldeten Benutzer. Match wird auf den übereinstimmenden Benutzer oder die übereinstimmende Benutzergruppe angewendet und ist höher als die allgemeine Konfiguration von ssh. ChrootDirectory Das aktive Verzeichnis des Benutzers kann mit %h gekennzeichnet werden. %u steht für den Benutzernamen. Wenn sich der mit Match übereinstimmende Benutzer anmeldet, wird das Stammverzeichnis der Sitzung auf dieses Verzeichnis umgestellt. Dabei sind zwei Punkte besonders zu beachten. 1. Alle Verzeichnisse im Chroot-Pfad müssen root gehören, mit einer maximalen Berechtigung von 0755. Dies muss beachtet und eingehalten werden. Wenn Sie sich also als Nicht-Root-Benutzer anmelden, müssen wir unter Chroot ein neues Verzeichnis erstellen, für das der angemeldete Benutzer die Berechtigung zum Ausführen hat. 2. Sobald chroot eingerichtet ist, wird das Stammverzeichnis "/" der entsprechenden Benutzersitzung beim Anmelden auf dieses Verzeichnis umgestellt. Wenn Sie zum Anmelden SSH anstelle des SFTP-Protokolls verwenden, werden Sie höchstwahrscheinlich aufgefordert: /bin/bash: Keine solche Datei oder kein solches Verzeichnis Diese Eingabeaufforderung ist sehr korrekt. Für den zu diesem Zeitpunkt angemeldeten Benutzer wurde das Stammverzeichnis "/" in der Sitzung auf das von Ihnen festgelegte Chroot-Verzeichnis umgestellt. Sofern Ihr Chroot nicht das "/"-Verzeichnis des Systems ist, wird zu diesem Zeitpunkt kein Bash-Befehl unter chroot/bin vorhanden sein. Dies ähnelt dem Parameter -s /bin/false, der beim Hinzufügen eines Benutzers festgelegt wird. Der anfängliche Befehl der Shell ist /bin/false, sodass die Remote-SSH-Anmeldung natürlich nicht verfügbar ist. ForceCommand Der erste Befehl, der verwendet wird, wenn ein Benutzer gezwungen wird, sich bei einer Sitzung anzumelden. Wenn diese Option wie oben konfiguriert ist, kann sich der entsprechende Benutzer nur mit dem SFTP-Protokoll anmelden und nicht mit SSH. Starten Sie den SSHD-Dienst nach Abschluss der Konfiguration neu Beachten: 1. Probleme, die durch chroot entstehen können. Da chroot das Stammverzeichnis der Sitzung auf dieses Verzeichnis umstellt, kann bei der SSH-Anmeldung die Fehlermeldung „/bin/bash: Keine solche Datei oder kein solches Verzeichnis“ angezeigt werden, da der Pfad dieser Sitzung chroot/bin/bash lautet. 2. ForceCommand ist der erste Befehl zu Beginn der Sitzung. Wenn Sie beispielsweise internal-sftp angeben, wird Ihnen angezeigt, dass dieser Dienst nur SFTP-Verbindungen zulässt. Dies entspricht dem Befehl usermod -s /bin/false. Wenn sich der Benutzer bei der Sitzung anmeldet, kann der Befehl /bin/bash nicht aufgerufen werden und die SSH-Anmeldung beim Server kann natürlich nicht durchgeführt werden. Zusammenfassen Oben ist die vom Herausgeber vorgestellte Methode zum Konfigurieren von SSH/SFTP und Festlegen von Berechtigungen unter dem Linux-Betriebssystem. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Lösung für das Problem, dass Emoji-Ausdrücke nicht in MySQL eingefügt werden können
>>: Natives JS zur Implementierung des Spiels 2048
Wir verwenden Klickereignisse häufig im A-Tag: 1. ...
Inhaltsverzeichnis UNION Tabelleninitialisierung ...
In diesem Artikel wird der spezifische Code für J...
1. Erstellen Sie ein Repository im angegebenen Ve...
1. Überwachungsarchitekturdiagramm 2. Umsetzungsi...
Was ist der Eingabetyp="Datei"? Ich glau...
Die Projektanforderungen lauten: Datum und Uhrzei...
Inhaltsverzeichnis Das Problem hierbei ist: Lösun...
Meines ist: <!DOCTYPE html> Blog-Garten: &l...
Vorwort Wir alle wissen, dass MySQL-Abfragen den ...
GTID-basierte Replikation Einführung Die GTID-bas...
Inhaltsverzeichnis Verschiedene Möglichkeiten zum...
In diesem Artikel wird der spezifische Code von j...
In diesem Artikel wird der Beispielcode von CSS3 ...
Parameter im Zusammenhang mit dem langsamen Abfra...