Двухуровневый SSH с Capistrano - PullRequest
0 голосов
/ 25 июня 2018

Я давно использую capistrano для развертывания своего кода через ssh, но на этот раз наша серверная архитектура совсем другая.

Мы получили наш сервер по адресу user @ master-ip, содержащий несколько виртуальных машин, включаятот, который я хочу развернуть.Но он доступен только локально через ssh user@local-vm-ip.

Итак ... как я могу настроить capistrano для использования двухуровневого ssh?

Спасибо!

1 Ответ

0 голосов
/ 26 июня 2018

SSH поддерживает опцию ProxyCommand, которая учитывает это.Capistrano также распознает эту конфигурацию и автоматически загрузит файл конфигурации SSH, если он будет помещен в .ssh/config в вашем проекте (т. Е. Где вы запускаете cap).

Создайте файл .ssh/config в вашем проекте Capistranoс таким содержимым:

Host my-server
  ProxyCommand ssh user@master-ip exec nc local-vm-ip %p

Это говорит SSH, что когда вы ssh my-server, то, что вы действительно хотите, это сначала подключиться к user@master-ip, а затем оттуда подключиться к local-vm-ip.Другими словами, my-server является псевдонимом для этой двухуровневой настройки SSH (вы можете дать ему любое имя, какое захотите).

Затем в вашей конфигурации Capistrano используйте "my-server" (или как вы выбрали) в качествеадрес сервера, на котором вы хотите развернуть.Capistrano автоматически использует .ssh/config и позаботится о двухуровневом SSH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...