В моей системе 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 / не ВСЕГДА доступен только для чтения для пользователей.