
Ваша цель: в два раза:
- Сделайте так, чтобы любой клиент мог подключаться по SSH к SSH-серверу с определенным идентификационным ключом и проходить аутентификацию на локальном SSH-сервере для определенного user@public-ssh-server (например, git@public-ssh-server пересылается на git@private-ssh-server с любым произвольным идентификационным ключом, который был предоставлен общедоступному SSH-серверу). Ожидается, что клиент будет неосведомленным пользователем службы git (или аналогичной) и не сможет редактировать свою конфигурацию SSH.
- Сделайте так, чтобы авторизованный клиент-администратор мог подключаться по SSH к публичному SSH-серверу с другим конкретным пользователем @public-ssh-server (например, root@public-ssh-server предоставляет оболочке доступ к общедоступному SSH сервер).
- Принуждение пользователей указывать переходы по SSH (например, с помощью ssh ... -J ... OpenSSH). Нежелательно, так как это не требует от пользователей дополнительных настроек.
- Размещение команды="/usr/bin/ssh git@private-ssh-server $SSH_ORIGINAL_COMMAND" ssh-ed25519 publickeyofuser username@client в публичном SSH-сервере /home/git/authorized_keys. Это не работает, поскольку, похоже, ключ идентификации SSH не пересылается на частный сервер SSH. Кроме того, потребуется настроить еще одну строку открытого ключа в файлеauthorized_keys публичного SSH-сервера для каждого авторизованного пользователя, хранящегося на частном SSH-сервере, что нежизнеспособно.
Код: Выделить всё
sshdПодробнее здесь: https://stackoverflow.com/questions/798 ... her-server