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

Принудительный порт ssh для каждого пользователя

Я хочу разрешить доступ каждому пользователю на сервере через другой порт. Например; К пользователю user1 можно получить доступ только через ssh через порт 2201, к пользователю 2 можно получить доступ только через порт 2202. Я уже разрешил доступ через порты 2201 и 2202, отредактировав "/ etc / ssh / sshd_config" и добавив две строки:

Port 2201
Port 2202

Оба пользователя теперь могут получить доступ к ssh через оба порта (и 22).

(Также) у пользователей [кроме root] нет автоматически созданного каталога "~ / .ssh /", поэтому я создал его и попытался добавить файл конфигурации и файл authorized_keys - похоже, это не имеет никакого значения.

ОС - это debian squeeze, и заранее спасибо.

Для этого есть решение. Вы можете использовать два Соответствие-условия: один для блокировки пользователя 2 на первом порте и другой для блокировки пользователя 1 на втором порту. Должно получиться так:

Match User user2, LocalPort 2201
   DenyUsers user2

Match User user1, LocalPort 2202
   DenyUsers user1

У меня работает аналогичная конфигурация, и она работает довольно хорошо (не говоря уже о том, что это имеет смысл).

Кстати: объединение Соответствие и глобальные правила разрешения / запрета не работают - по крайней мере, у меня это не сработало.

Вам нужно будет создать отдельный sshd_config для каждой комбинации пользователь / порт, содержащий (наряду с обычными параметрами конфигурации) ключевые слова ListenAddress и AllowUsers.

sshd_config_2201

ListenAddress 0:2201
AllowUsers user1

sshd_config_2202

ListenAddress 0:2202
AllowUsers user2

и т.п.

Вам нужно будет запустить sshd один раз для каждого пользователя с -f переключатель, чтобы указать отдельные файлы конфигурации.