Недавно, для меня определили задачу с проблемой, что я должен был перенаправить входящее соединение с определенным пользователем в зависимости от их общедоступного IP-адреса...
Например, скажем, тот Bob выполнения:
ssh nerd@server_ip
как я мог перенаправить его (123.123.123.123 в этом примере) так, чтобы вместо того, чтобы войти в систему как nerd
, он входит в систему как admin
?
Я попробовал различные конфигурации и комбинации с MatchAddress
и MatchUser
... Я также попытался использовать сценарий с ForceCommand
в SSH...
Для разъяснения далее я хочу перенаправить, Входят в предыдущий пример пользователю "администратор" из-за его IP-адреса (123.123.123.123). Но если другой человек, скажем, Julia должна была работать ssh nerd@server_ip
, это перенаправило бы ее к non-admin@server_ip
потому что ее IP был (1.1.1.1)...
Я не думаю, что это возможно сделать как часть конфигурации ssh-сервера. Опция «Match» не позволяет использовать с ней директиву «User», чтобы заставить учетную запись пользователя отличаться от запрашиваемой.
Однако вы могли бы дать совет Бобу и Джулии о том, как это настроить самостоятельно ~/.ssh/config
. Например, скажите Бобу добавить следующее в этот файл:
Host server_ip
User admin
И Джулия должна добавить:
Host server_ip
User non-admin
Теперь, если они добавят эту конфигурацию на своих клиентских хостах 123.123.123.123 или 1.1 .1.1 это позволит им запускать
ssh server_ip
, и клиент ssh будет использовать admin или non-admin в качестве пользовательской части соединения, в зависимости от клиента, где оно выполняется.
Это точно не то, что вы просите, но я думаю, что самое близкое, что вы можете получить, используя ssh.
В зависимости от того, что Бобу и Джулии нужно делать на сервере, вы также можете заставить их использовать открытые ключи для аутентификации и жестко записать данную команду в файл авторизованные_ключи. Преимущество этого состоит в том, что в файле author_keys вы можете требовать определенный адрес «от» и принудительно выполнять определенную команду. См. Раздел «ФОРМАТ ФАЙЛА AUTHORIZED_KEYS» на странице справки sshd (8). Тем не менее, это только позволит вам ограничить использование определенного открытого ключа с определенного адреса, но не будет перенаправлять соединение на другую учетную запись, как вы изначально просили.