
Ich versuche gerade, eine Benutzergruppe einzurichten, die sich über SSH mit einem Server verbinden kann, aber nur über diesen Proxy. Sie können keine Dateien sehen oder Befehle ausführen. Benutzer in der Gruppe könnten auch eine Kennwortauthentifizierung anstelle von Schlüsseln verwenden. Der SSH-Server ist OpenSSH.
Das isteine weitere Frage, die etwas Ähnliches ansprichtmit einer sehr guten Antwort. Ich habe ein Problem damit, ganz zu verstehen, was er meint, und es heißt ausdrücklich, dass Benutzer den Server nicht als Proxy verwenden dürfen, also kann ich nicht gedankenlos Anweisungen folgen. Es ist auch für einen einzelnen Benutzer im Vergleich zu einer Gruppe geschrieben. Um dies zu beheben, habe ich die folgenden Änderungen an seiner Konfiguration in vorgenommen sshd_config
.
Match Group limited-users
AllowTcpForwarding yes
#X11Forwarding no
#PermitTunnel no
#GatewayPorts no
AllowAgentForwarding no
PermitOpen localhost:1080
ForceCommand echo 'This account can only be used for [reason]'
Ich vermute, dass ich einen bestimmten Typ von Systemgruppe erstellen muss, bin mir aber nicht sicher.
Gibt es eine bevorzugte Möglichkeit, ein auf diese Weise gesperrtes Konto zu erstellen, und ich übersehe sie einfach?
Bearbeiten: Ich habehabe eine zweite Frage gefunden, die dieser auf StackOverflow ebenfalls sehr ähneltaber sie verwenden wieder Schlüssel, während ich lieber Passwörter statt Schlüsseln verwenden würde.
Bearbeitung 2: Es stellt sich heraus, dass das ziemlich beliebt ist.Das hat am meisten geholfen. Anscheinend muss ich die Shell des Benutzers so einstellen, dass er zum Abmelden einfach eine beliebige Taste drücken kann und dann nichts mehr tun kann.
Bearbeitung 3: Bei dichtem VerfolgenDieser ArtikelAufgrund einer der anderen Fragen bin ich auf Folgendes gekommen, was so ziemlich dasselbe ist, jedoch ohne zwei getrennte Gruppen:
Wenn es stimmt, werde ich es aktualisieren.
Ich habe eine scheinbar völlig nutzlose Shell erstellt, indem ich die Datei erstellt /usr/bin/tunnel_shell
und diese eingefügt habe
#!/bin/bash
trap '' 2 20 24
clear
echo -e "rn33[32mSSH tunnel started, shell disabled by the system administrator"
while [ true ] ; do
sleep 1000
done
exit 0
Ich habe eine Gruppe namens tunnel_group erstellt mit
groupadd tunnel_group
Ich habe damit einen Benutzer namens tunnel_user hinzugefügt. Mit -M erhält er kein Home-Verzeichnis. Mit -G tunnel_group wird er zu tunnel_group hinzugefügt (eine Gruppe, die ich zuvor erstellt habe). -s stellt seine Shell auf die tunnel_shell-Datei ein, die ich zuvor erstellt habe.
useradd -M -G tunnel_group -s /usr/bin/tunnel_shell tunnel_user
Anschließend lege ich das Benutzerkennwort fest mit
passwd tunnel_user
Ich /etc/ssh/sshd_config/
habe dies am Ende der Datei hinzugefügt.
Match Group tunnel_group
AllowTcpForwarding yes
#X11Forwarding no
PermitTunnel yes
GatewayPorts yes
AllowAgentForwarding yes
PermitOpen localhost: 1080
ForceCommand echo 'This account can only be used for SOCKS and has be restricted accordingly.'