Как перенаправить локальную пару ключей на сеанс SSH?
Я вручную развертываю сайты через SSH, я управляю исходным кодом в github/bitbucket. Для каждого нового сайта я в настоящее время создаю новую пару ключей на сервере и добавляю его в github/bitbucket, чтобы я мог рисковать с сервера.
Я столкнулся с функцией в capistrano, чтобы использовать парную пару локальных машин для вытаскивания обновлений на сервер, который ssh_options[:forward_agent] = true
Как я могу сделать что-то подобное и перенаправить мою локальную машину на сервер, на который я подключен, поэтому я могу избежать добавления ключей в github/bitbucket для каждого нового сайта.
Спасибо.
Ответы
Ответ 1
Это оказалось очень простым, полное руководство здесь Использование пересылки SSH
В сущности, вам нужно создать файл ~/.ssh/config
, если он не существует.
Затем добавьте хосты (имя домена или IP-адрес в файле и установите ForwardAgent yes
)
Пример кода:
Host example.com
ForwardAgent yes
Делает жизнь SSH намного легче.
Ответ 2
- Создать ~/.ssh/config
-
Заполните его (адрес хоста - это адрес хоста, на который вы хотите перенаправить пересылку):
Host [host address]
ForwardAgent yes
-
Если вы еще не запускали ssh-agent, запустите его:
ssh-agent
-
Сделайте вывод из этой команды и вставьте ее в терминал. Это установит переменные среды, которые необходимо настроить для перенаправления агентов. При желании вы можете заменить это, а шаг 3:
eval "$(ssh-agent)"
-
Добавьте ключ, который вы хотите переслать агенту ssh:
ssh-add [path to key if there is one]/[key_name].pem
-
Войдите в удаленный хост:
ssh -A [user]@[hostname]
-
Здесь, если вы входите в другой хост, который принимает этот ключ, он просто работает:
ssh [user]@[hostname]
Ответ 3
Файл конфигурации очень полезен, но трюк для перенаправления агентов выполняет команду ssh-add
. Похоже, что это должно быть инициировано перед любыми удаленными подключениями или после перезагрузки компьютера. Чтобы навсегда добавить ключ, попробуйте следующее решение от пользователя daminetreg:
Добавить закрытый ключ с помощью ssh-add на Ubuntu