Я должен выполнить сервер SSH и зарегистрировать IP и открытый ключ любого клиента, который пытается соединиться (на самом деле не предоставляя доступ).
Вариант использования - это: Я развертываю это веб-приложение на удаленном хосте, который, во время процесса сборки, выбирает некоторые зависимости от GitHub/битоприемника (мерзавец использует ssh, который использует ключи). Теперь, если я хочу, чтобы этот хостинг-сервер имел доступ к некоторому частному repos, я должен добавить в белый список, это - открытый ключ, однако хост не обеспечивает доступ для чтения ключа непосредственно от файловой системы. Но я могу указать на него на любой хост SSH, и это установит связь, по-видимому, раздавая это - открытый ключ. Я хотел бы зарегистрировать это.
Любые предложения ценятся.
Если вам нужен открытый ключ для внесения в белый список, вы не можете выбрать его из неудачной попытки. Речь идет вовсе не о sshd или его конфигурации, а о самом протоколе, поскольку аутентификация с открытым ключом проходит следующим образом:
authorized_keys
. При неудачных попытках это останавливается на шаге 2, предотвращая дальнейшее развитие событий. Тем не менее, весь открытый ключ никогда не отправляется на сервер, только идентификатор.
Нельзя просто записать то, чего он даже не знает.
sshd
на самом деле не регистрирует публичные ключи, используемые при попытках входа в систему, успешных или иных. Самое близкое к нему - это записать отпечаток открытого ключа в LogLevel VERBOSE
.
Кроме того, поскольку это ServerFault, я вынужден упомянуть, что ваш процесс развертывания неверен. Вы должны распространять (подписанные) пакеты, используемые менеджерами пакетов, .rpm
, .deb
и т. Д. В эти пакеты вы можете включить сценарий конфигурации, если это необходимо.