Вы сосредотачиваетесь на способе, а не на цели.
Когда вы говорите, что не хотите, чтобы пользователи «могли брать с собой ключ SSH», вы действительно имеете в виду, что вы этого не делаетехотите, чтобы пользователи могли входить на компьютеры назначения без прохождения через сервер шлюза.Потому что кого волнует, есть ли у них ключ, если он не приносит им никакой пользы?
Итак, сделайте ключ авторизованным только для входов с исходным IP-адресом сервера шлюза (на компьютерах назначения, к которым он относится.обеспечивает доступ).См. эту ссылку , в частности директиву from
.Естественно, вы также должны изменить директиву AuthorizedKeysFile
в глобальном sshd_config
, чтобы включить туда, куда пользователи не могут писать на компьютерах назначения (это позволяет использовать несколько путей, поэтому вам не нужно мешать им добавлять свои собственные).клавиш, но звучит так, как ты хочешь).Кроме того, до тех пор, пока пользователи сервера шлюза не обмениваются ключами друг с другом, то есть ключ должен быть у любого, кто может войти на шлюз, и ваша сеть предотвращает подделку IP-адреса источника к месту назначения.с машинами, все в порядке.
Вы также можете пересмотреть подход, который вы используете;если целью сервера шлюза является только аутентификация (единый вход и централизованное управление доступом), то лучше использовать метод распределенной аутентификации, такой как Kerberos, а не неуклюжий вход в системуметод "получить в там".