как использовать переадресацию агента ssh

как использовать переадресацию агента ssh

У меня есть три системы, клиент, на котором установлен только клиент SSH, а также серверы Server_1 и Server_2. Я использую публичную аутентификацию SSH и могу подключаться по SSH с клиента как к серверу Server_1, так и к серверу Server_2. Я сохранил один и тот же открытый ключ для сервера Server 1, и теперь я хочу подключиться по SSH с сервера Server 1 на сервер Server 2 с помощью переадресации агента, и я хочу, чтобы мой закрытый ключ оставался только на клиенте. Пожалуйста, помогите мне как можно скорее, как мне реализовать этот сценарий? Я использую эту ссылку, но не знаю, как это сделать.

Иллюстрированное руководство по переадресации агента SSH: доступ к открытому ключу с переадресацией агента

решение1

Сначала вам нужно вызвать ssh-agentсвоего клиента, чтобы он запомнил ваш ключ

ssh-agent -t 3600 ~/.ssh/private_key_rsa

(предполагая, что ваш ключ хранится в ~/.ssh/private_key_rsa, вы также можете не указывать , -t 3600если вы хотите бесконечного срока службы)

затем вы просто подключаетесь по ssh к одному из ваших серверов, используя -Aопцию

ssh -A server1

оттуда вы сможете подключиться по ssh к server2

ssh server2

Если вы не хотите указывать эту -Aопцию каждый раз, вы можете добавить следующее ~/.ssh/config (на клиенте и, по желанию, на обоих серверах):

Host server1
 ForwardAgent yes

Host server2
 ForwardAgent yes

Это работает для любого количества серверов. Чтобы сохранить ~/.ssh/configкраткость, вы можете ввести подстановочные знаки, например

Host server?
  ForwardAgent yes

решение2

Переадресация хоста сервера на локальный хост:

ssh -L localhost:22:localhost:22 user@host

или

ssh -N -f -L serverhost:22:localhost:22 user@server1

Прочитал ваш вопрос еще раз.

Вы хотите подключиться по ssh к server1:

ssh user@server1

Затем вам нужно подключиться по ssh к server2:

В новом терминале из клиента выполните:

ssh user@server1
ssh user@server2

Тогда у вас есть 2 соединения:

  1. клиент-сервер 1
  2. клиент к серверу 1 ==> сервер 2

Если вы хотите иметь:

  1. клиент-сервер 1
  2. клиент к серверу 2 (с тем же ключом.)

Просто выполните следующую команду.

На клиенте:

Используйте tmux или откройте 2 терминала

ssh user@server1

В новом терминале:

ssh user@server2

решение3

Простой ответ — добавить -Aтакой флаг:

ssh -A [user]@[hostname]

Связанный контент