Я использую JuiceSSH на своем мобильном телефоне и у меня на компьютере довольно длинный конфигурационный файл ssh. На моем ПК, если я подключаюсь к бастионному серверу, я не могу использовать SSH для любых последующих серверов. С помощью моего мобильного я могу. Это указывает на то, что личность на моем мобильном телефоне используется при каждом прыжке.

Можно ли заставить мой Mac сделать это? Целью является передача 1 большого файла между 2 серверами, каждый из которых находится за собственным бастионом, без временного сохранения файла на моем Mac.

1 ответ1

1

Похоже, JuiceSSH делает переадресацию агентов для вас. То же самое возможно с OpenSSH. OpenSSH не выполняет переадресацию агента по умолчанию из-за угроз безопасности, позволяющих компьютерам, к которым вы подключаетесь, использовать ваш ключ.

Прежде чем использовать агентскую переадресацию, вам необходимо убедиться, что у вас есть агент. Вы можете проверить, есть ли у вас агент, запустив:

ssh-add -l

Если он отвечает списком из одного или нескольких ключей, агент готов к использованию. В этом случае вы можете просто передать -A своей команде ssh например:

ssh -A host.example.com

Есть два других возможных ответа, которые вы можете увидеть из ssh-add

$ ssh-add -l
The agent has no identities.

Это означает, что у вас есть агент, но у него нет ключей. В этом случае вы можете загрузить ключи с помощью ssh-add . Если вы не предоставите никаких аргументов, он загрузит ключи из всех местоположений по умолчанию. Вы также можете указать имя файла ключа для загрузки в качестве аргумента.

Другие аргументы для ssh-add стоит знать, включают include -t чтобы указать, как долго вы хотите, чтобы ключ оставался в агенте, прежде чем агент забудет его. И -c который заставит агента запрашивать подтверждение перед каждым использованием ключа.

Объединяя их, это может выглядеть так:

ssh-add -c -t1h ~/.ssh/id_rsa

Еще одно возможное сообщение об ошибке из ssh-add :

$ ssh-add -l
Could not open a connection to your authentication agent.

Это означает, что у вас не работает агент. И вам нужно будет запустить один, прежде чем вы сможете загрузить любые ключи. Один из способов запустить агент

ssh-agent bash

Это запустит агент и оболочку bash . Агент будет работать, пока вы снова не закроете оболочку bash .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .