Из соображений безопасности я создал пользователя на своем удаленном VPS только для того, чтобы использовать его для SSH-туннелирования. Мой локальный компьютер попадает в руки многих других, что меня пугает, потому что мне нужно оставить этот сеанс SSH открытым. Итак, я хочу заблокировать этого пользователя (на сервере), чтобы другие не могли делать ничего, кроме туннелирования SSH (даже если пароль будет скомпрометирован). С этим пользователем я хочу только войти (с паролем) и выполнить SSH-туннелирование .. не более того!
Не могли бы вы помочь?
Предположительно, вы используете SSH-ключ для аутентификации этого пользователя.
В .ssh / authorized_keys вы можете установить параметры того, что может делать пользователь. Например, вы можете установить no-pty
, no-X11-forwarding
параметры, чтобы предотвратить получение пользователем оболочки или перенаправления X11. Увидеть страница руководства sshd для полного списка опций.
Если вы не используете аутентификацию на основе ключей и на вашем сервере установлена довольно свежая версия OpenSSH, используйте Match user
опция в сочетании с параметрами для блокировки доступа и принудительного выполнения команды, которая ничего не делает. Видеть человек sshd_config.
Match user username
AllowTcpForwarding yes
X11Forwarding no
ForceCommand /bin/cat
Вы можете настроить начальный сеанс / туннель SSH без ключей RSA и -L
(привязать перенаправленный адрес к локальному адресу) и -N
команда (не выполнять никаких команд), т.е.
ssh -L локальный порт: веб-адрес: порт -N
поэтому в вашем случае, поскольку вы пересылаете SSH, это может выглядеть так ...
ssh -L 22: веб-адрес: 22 -N
Это должно настроить вас на форварда без настройки сеанса.
немного наблюдения и чтение на этом.