GNU/Linux >> LINUX-Kenntnisse >  >> Linux

SFTP zulassen, aber SSH nicht zulassen?

Lösung 1:

Beginnend mit Version 4.9 hat OpenSSH (in Centos 5.x nicht verfügbar, aber die ChrootDirectory-Funktion wurde zurückportiert) einen internal-sftp Subsystem:

Subsystem sftp internal-sftp

Und dann andere Verwendungen blockieren:

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

Fügen Sie Ihre Benutzer zu sftponly hinzu Gruppe. Sie müssen das Heimatverzeichnis des Benutzers auf / ändern wegen der Chroot und /home/user sollte root gehören . Ich würde auch /bin/false setzen als Shell des Benutzers.

Lösung 2:

Es gibt eine Shell scponly was macht das. Es kann chrooten auch.

Lösung 3:

Überprüfen Sie rssh, eine gefälschte Shell, die sftp zulässt, aber ssh verweigert

Mehr über RSSH

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

Drehzahlen

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

Sie können rssh konfigurieren, um verschiedene Verhaltensweisen wie sft, scp usw. zuzulassen/zu verweigern.

Lösung 4:

Sie können /etc/passwd ändern und diesem Benutzer eine gefälschte Shell geben, damit er ssh nicht verwenden kann.


Linux
  1. Unerwartetes Verhalten eines Shell-Skripts?

  2. Shell-Befehle fortsetzen, sobald eine Verbindung zu SSH besteht?

  3. Remote-SSH-Zugriff zulassen?

  4. Richten Sie SFTP ein und verhindern Sie SSH unter Ubuntu 20.04

  5. So richten Sie Chroot SFTP unter Linux ein (nur SFTP zulassen, nicht SSH)

Beschränken Sie die SSH-Anmeldung auf eine bestimmte IP oder einen bestimmten Host

SCP zulassen, aber keine tatsächliche Anmeldung mit SSH

SSH durch SSH-Tunnel weiterleiten

Beschränken Sie den passwortbasierten SSH-Zugriff pro Benutzer, erlauben Sie jedoch die Schlüsselauthentifizierung

Passwort zu .ssh/config hinzufügen

Aktivieren Sie den SSH-Shell-Zugriff, aber deaktivieren Sie den SFTP-Zugriff