Как получить доступ к ssh, если у вас есть доступ только к kubectl?

Полгода назад поднимал машину и кластер в облаке, на новый ноут перенес доступы к кластеру, а ssh ключ остался там и успешно утерян.

В итоге на рабочем кластере есть доступ до kubernetes, а вот самого ssh доступа нету.

Случай необычный и быстрого способа в интернете не нашлось. Путем недолгих размышлений пришел к мысли, у нас же есть volumes, и мы как в докере может туда пути пробросить.

Почитав доку кубера по Volumes нашел интересный параметр hostPath, который как раз и монтирует файловую систему в Pod, выполнив этот файлик (заменив USER на имя пользователя) мы получим под со смонтированной файловой системой нашего юзера.

Как получить доступ к ssh, если у вас есть доступ только к kubectl?

Затем смотрим наш под

Как получить доступ к ssh, если у вас есть доступ только к kubectl?

И вуаля мы можем посмотреть какие ключики у нас там лежат.

И чтобы добавить новый ключик, пишем его в файлик, например `publickey.txt` и копируем в машину через `kubectl` , команда подобна scp, указываем под куда копирнуть, а сам файлик у нас рядом с терминальчиком.

Как получить доступ к ssh, если у вас есть доступ только к kubectl?

Далее ддшечкой записываем файлик (заменив USER на имя пользователя)

Как получить доступ к ssh, если у вас есть доступ только к kubectl?

И вуаля, доступ к машине через ssh открыт!

Начать дискуссию