Назад | Перейти на главную страницу

Одноцелевой SSH-аккаунт, исключительно для обратной переадресации портов

В моей системе Debian я хотел бы создать пользователя, который только разрешено выполнять обратную переадресацию портов со своего компьютера на мой сервер, но я не уверен, как создать ограниченного пользователя специально для этой цели.

Например, мы назовем мой сервер «Сэм», а мой ноутбук - «Люк». Я бы хотел, чтобы пользователь на Люке мог выполнять команду ssh обратного порта для Сэма, чтобы порт 4321 на Сэме туннелировался на порт 4321 Люка. Например:

ssh -fnR 4321:localhost:4321 -l limitedUser Sam

Как я могу создать на Сэме пользователя, которому разрешено выполнять только эту команду?

Документ, на который я всегда обращаю внимание по поводу сложных SSH, - это правильное выполнение SSH без пароля.

Важно ограничиться command= на .ssh/authorized_keys и установить их оболочку в / bin / nologin. Я не совсем уверен, каково будет имя команды обратного движения вперед. Возможно, он вам даже не понадобится, и в этом случае просто выполните команду nologin или logout или что-то в этом роде.

Чтобы быть более точным, просто добавьте allowopen = "host: port" ssh-rsa yourrsakey. Это ограничит переадресацию портов одним хостом: только порт

Вас также может заинтересовать Соответствие ключевое слово в sshd_config: http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config

Было бы лучше, если бы у вас было много пользователей с аналогичными привилегиями, и это было бы безопаснее в некоторых контекстах, поскольку / etc / sshd_config доступен только для записи root, но ~ / .ssh / не ВСЕГДА доступен только для чтения для пользователей.