Das Folgende hat den Vorteil, dass X11- und SSH-Agentensocketweiterleitungen ebenfalls nicht zulässig sind, was in Calebs Weise möglicherweise noch zulässig ist. Ein weiterer Vorteil ist, dass der Benutzer seinen SSH-Zugriff nur auf TCP-Weiterleitungen beschränkt, wenn er seine Standard-Shell auf andere Weise ändern kann.
Fügen Sie Folgendes ein /etc/ssh/sshd_config
:
Match User that-restricted-guy
AllowTcpForwarding yes
X11Forwarding no
AllowAgentForwarding no
ForceCommand /bin/false
Damit der Benutzer that-restricted-guy
alle TCP-Verbindungen über Ihren SSH-fähigen Computer weiterleiten kann (Verbindung zu diesem Computer, auch zu localhost
und sogar Verbindung von diesem Computer zu anderen Computern).
Wenn Sie es noch restriktiver wollen (was eine gute Idee ist), können Sie auch Folgendes tun:
Match User even-more-restricted-guy
PermitOpen 127.0.0.1:12345
X11Forwarding no
AllowAgentForwarding no
ForceCommand /bin/false
Auf diese Weise kann der Benutzer even-more-restricted-guy
nur Verbindungen an den 127.0.0.1-TCP-Port 12345 weiterleiten (wie dies auf Ihrem SSH-fähigen Computer sichtbar ist).
Wenn der Benutzer normalerweise eine Verbindung herstellt, wird die Verbindung sofort getrennt, da der /bin/false
Befehl ausgelöst wird, der nur mit dem Code 1 beendet wird. Wenn Sie dies vermeiden und die Weiterleitungsverbindung offen halten möchten, fügen Sie -N
dem ssh
Befehl das Flag hinzu . Dadurch wird nicht versucht, einen Befehl auszuführen, es können jedoch TCP-Weiterleitungen eingerichtet werden.
Ein Beispiel für einen Weiterleitungsbefehl, der in der letzteren Konfiguration funktionieren sollte:
ssh -L 12345:127.0.0.1:12345 -N even-more-restricted-guy@insert-your-machine