Недавно мне была задана проблема, связанная с необходимостью перенаправления входящего соединения на конкретного пользователя в зависимости от их общедоступного IP-адреса ...
Например, предположим, что Боб работает:
ssh nerd@server_ip
как я мог перенаправить его (123.123.123.123 в этом примере), так что вместо входа в систему как nerd он регистрируется как admin?
Я пробовал разные конфигурации и комбинации с MatchAddress и MatchUser ... Я также пробовал использовать скрипт с ForceCommand в SSH ... [ ! d4]
Чтобы уточнить, я хочу перенаправить Боба в предыдущем примере на пользователя «admin» из-за его IP-адреса (123.123.123.123). Но если другой человек, скажем, Джулия должен был бежать ssh nerd@server_ip, он перенаправил бы ее на non-admin@server_ip, потому что ее IP был (1.1.1.1) ...
Я не думаю, что это можно сделать как часть конфигурации ssh-сервера. Параметр «Матч» не позволяет использовать с ним директиву «Пользователь», чтобы заставить другую учетную запись пользователя, чем запрошенная.
Однако вы могли бы дать советы Бобу и Джулии о том, как настроить это в их собственном ~/.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.
В зависимости от того, что нужно сделать Бобу и Джулии на сервере, вы также можете заставить их использовать открытые ключи для аутентификации и жесткого кода для данной команды в файле authorized_keys. Преимущество этого заключается в том, что в файле authorized_keys может потребоваться определенный адрес «from» и принудительно выполнить определенную команду. См. Раздел «AUTHORIZED_KEYS FILE FORMAT» на странице руководства sshd (8). Тем не менее, это позволит вам ограничить определенный открытый ключ, который будет использоваться с определенного адреса, он не будет перенаправлять соединение с другой учетной записью, как вы изначально задали.
Я не думаю, что это можно сделать как часть конфигурации ssh-сервера. Параметр «Матч» не позволяет использовать с ним директиву «Пользователь», чтобы заставить другую учетную запись пользователя, чем запрошенная.
Однако вы могли бы дать советы Бобу и Джулии о том, как настроить это в их собственном ~/.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.
В зависимости от того, что нужно сделать Бобу и Джулии на сервере, вы также можете заставить их использовать открытые ключи для аутентификации и жесткого кода для данной команды в файле authorized_keys. Преимущество этого заключается в том, что в файле authorized_keys может потребоваться определенный адрес «from» и принудительно выполнить определенную команду. См. Раздел «AUTHORIZED_KEYS FILE FORMAT» на странице руководства sshd (8). Тем не менее, это позволит вам ограничить определенный открытый ключ, который будет использоваться с определенного адреса, он не будет перенаправлять соединение с другой учетной записью, как вы изначально задали.