LINUX.ORG.RU
ФорумAdmin

Про vagrant, ssh и безопасность

 


0

1

Здравствуйте.

По-умолчанию vagrant безопасный до нельзя - пользователь vagrant, аутентификация по общеизвестному ключу, никаких тебе паролей. Захотелось создавать своего пользователя и логиниться по ssh с помощью ключа, дабы пароля не вводить. Почитал документацию и: config.ssh.private_key_path

Вот это вот как? Почему он хочет мой приватный ключ? Насколько я знаю на удалённый хост ssh калдётся публичный ключ, а приватный дальше моего компа никуда никогда не ходит, даже по сети. Почему vagrant желает класть на виртуалку приватный ключ? Где я что-то не понял?

Судя по доке, весь неймспейс config.ssh настраивает то, как Vagrant будет подключаться к целевой машине. Следовательно, на целевой машине должен быть твой public key, а Vagrant'у нужен соответствующий private key.

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

Понял. Прояснилось. А как тогда настраивать подключение к виртуалке?

Наверное только вручную через provisioning, видать расчитанно, что виртуалка забирает откуда-то конфиги и всё сама.

Barlog_M ()
Последнее исправление: Barlog_M (всего исправлений: 1)
Ответ на: комментарий от Barlog_M

Под целевой машиной подразумевается виртуалка или что-то ещё, задаваемое провайдером.

Но вообще понятия не имею — я Vagrant не юзаю :]

intelfx ★★★★★ ()

Вопрос почти в тему. В чем профит vagrant перед docker?

Я долго пытался врубиться в идеологию, после того как его отвязали от virtualbox он стал уметь libvirt и docker/lxc. Но в то же время - это оверхед, зачем нужна еще одна обёртка, если тот же docker умеет конфигурацию по сценарию (docker build) и к тому же легко переносится куда угодно через push/pull.

Единственное что может оправдать на мой взгляд - использование не linux в качестве хоста.

invokercd ★★★★ ()

Захотелось создавать своего пользователя и логиниться по ssh с помощью ключа, дабы пароля не вводить.

Создай нового пользователя в виртуалке, настрой внутри вирт. openssh на public ключ, логинься к запущенной vagrant up машине с помощью своего ssh со своим приватным ключём. Ты же без приватного ключа всё-равно не подключишься по ssh... Публичным только проверяющая сторона будет пользоваться (ssh в виртуалке). Обычно приватные ключи всё-равно скармливают посреднику: putty, bash, ssh и т.д. Вагрант как раз и должен отдать посреднику твой приватный ключ, чтобы подрубиться к виртуалке. Либо я тебе предлагаю вручную коннектиться, не отдавая вагранту эту задачу.

menangen ★★★★★ ()
Последнее исправление: menangen (всего исправлений: 1)
Ответ на: комментарий от invokercd

Вагрант - это целая виртуалка, собранная по рецепту, с настройками и прочим. Вагрант - что-то вроде автоматизированного робота + свой реп линукс дистрибов. Докер же - это не полноценный линукс, а лишь обвязка для запуска процессов. В докер можно запихнуть тупо ассемблерный код (скомпилированный), и он в голом контейнере заработает, при этом его будет запускать ядро линукс хост машины (только 64-битное). Да, докер многое умеет, но там сборка докер-контейнера очень похожа на версионность гита, в итоге часто образы докера разрастаются до больших размеров, т.к. докер не умеет полноценно удалять файло из контейнера, тупо помечает файл удалённым как гит. Вагрант же - это просто робот-менеджер виртуалок для совсем ленивых, или, там, например, дизайнеров, бухгалтеров и прочих, кто не петрит как прокидывать порты и т.д., и для автоматизации сборки линукс виртуалок на 100500 этих самых бухгалтеров.

menangen ★★★★★ ()
Последнее исправление: menangen (всего исправлений: 1)
Ответ на: комментарий от menangen

По сути - это просто сценарий для сборки/установки и проброса портов?

Я думал там можно также запилить свой образ и закинуть его в какой-то пул (хранилище) откуда может его потом скачать кто-то и получить такую же среду как и у тебя.

Вообще согласен что иногда docker нужно готовить болеее тщательно, но в то же время - это полноценный cow механизм + это все таки контейнер и его очень просто связывать с fs хоста (я не распарсил как осуществляется доступ к файлам хоста в vagrant, думаю что это sshfs?).

И есть ли истории успеха использования его с lxc?

invokercd ★★★★ ()
Ответ на: комментарий от invokercd

Я думал там можно также запилить свой образ и закинуть его в какой-то пул (хранилище) откуда может его потом скачать кто-то и получить такую же среду как и у тебя.

Можно, см. https://vagrantcloud.com. Ты делаешь базовый образ и можешь его таскать с собой или же забросить в облако. А если нужно что-то конфигурировать, то скрипты + плагины для вагранта.

я не распарсил как осуществляется доступ к файлам хоста в vagrant, думаю что это sshfs?).

по разному он осущекствляется: через расширения для конкретной системы виртуализации, NFS,rsync и т.д. Вариант выбираешь ты.

pylin ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.