Похоже, 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
.