Я хочу разрешить доступ каждому пользователю на сервере через другой порт. Например; К пользователю 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
переключатель, чтобы указать отдельные файлы конфигурации.