Пересобрать VM
/projects/:projectId/vms/:vmId/rebuildПересобирает виртуальную машину, переустанавливая ее из указанного образа.
Операция асинхронная и возвращает идентификатор операции для опроса. Опрашивайте GET /v1/projects/{projectId}/operations/{operationId} с полученным operationId, пока его статус не выйдет из InProgress. В ответе возвращается новый первоначальный пароль для входа. Если sshKeyIds не передан или пуст, у пересобранной машины не будет SSH-ключей — ранее привязанные ключи не переносятся; иначе переданные ключи становятся действующим набором для пересобранной машины. Передайте deleteBackups, чтобы вместе с пересборкой удалить резервные копии машины. Существующие правила проброса портов остаются без изменений: если новый образ использует другой порт службы (например, RDP 3389 вместо SSH 22), измените нужное правило отдельно через эндпоинты проброса портов.
Предупреждение CLI
Если вы уже подключались к этой ВМ, в локальном файле known_hosts уже будет отпечаток. Его можно считать уникальным идентификатором сервера. Обычно отпечаток распознаётся автоматически при подключении к этому IP-адресу. После rebuild, однако, ОС переустанавливается и генерируется новый host key, поэтому этот отпечаток больше недействителен.
Поэтому при повторном подключении после rebuild вы можете увидеть предупреждение вида:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...
...
...
Offending ECDSA key in /home/user/.ssh/known_hosts:2
remove with:
ssh-keygen -f "/home/user/.ssh/known_hosts" -R "<203.0.113.1>"
...
...
Если вы получили такое предупреждение, удалите старый отпечаток из файла known_hosts, как описано ниже. Если предупреждения нет, этот раздел можно пропустить.
Удаление существующего отпечатка
После rebuild старый отпечаток снова не станет действительным: у ВМ теперь новый host key. Можно временно закомментировать старую запись или удалить её и принять новый отпечаток при следующем подключении.
Добавить комментарий
Пока вы завершаете повторное подключение, отпечаток можно оставить в файле как комментарий. Строка Offending ECDSA key in /home/user/.ssh/known_hosts:2 в предупреждении указывает, в какой строке known_hosts сохранён отпечаток. В этом примере это строка 2. Отредактируйте файл known_hosts на локальном устройстве:
nano ~/.ssh/known_hosts
Добавьте # в начало строки с отпечатком из предупреждения:
|1|lPqnDMjklla23lPqnDMjkllPq9=|lPqnDMjklla233lPqnDMjklla...
#|1|vlQvhfjekla23lPqnDMjklop5E=|343Pfd964BZxg3kfdIEYKLue4...
Когда закончите, сохраните файл через CTRL+X, подтвердите через Y и закройте через ENTER. После повторного подключения и принятия нового host key можно удалить из файла и закомментированную старую запись, и любые устаревшие отпечатки.
Удалить отпечаток
Либо используйте команду из предупреждения, чтобы удалить отпечаток из файла known_hosts:
ssh-keygen -f "/home/user/.ssh/known_hosts" -R "<203.0.113.1>"
Замените <203.0.113.1> на IP-адрес ВМ. После удаления отпечатка снова подключитесь через ssh. На этот раз должно остаться только предупреждение о подлинности хоста. Введите yes, и новый отпечаток будет сохранён в локальном файле known_hosts.
Запрос
Ответы
- 202
- 400
- 404
- 409
Запрос на восстановление был принят; виртуальная машина переустанавливается в фоновом режиме.
Тело запроса не прошло проверку.
Проект, виртуальная машина или образ не найдены.
На этой машине уже выполняется другая операция. Дождитесь её завершения и повторите запрос.