Machine1 имеет частную и публичную пару. Machine2 и machine3 имеют открытый ключ.
Я перехожу на machine2 с machine1 через ssh, а затем я хочу перейти на machine3 с machine2. Это как машина1 - ssh -> machine2 - ssh -> machine3 Как я могу это сделать?
Давайте проясним это: пользователь, с которым вы устанавливаете эти соединения, имеет пару открытый / закрытый ключ. В ~ / .ssh / authorized_keys на machine2 и machine3 есть копия открытого ключа подключающихся пользователей?
Если это так, то на машине1 вы должны запустить ssh-агент чтобы кэшировать учетные данные для вашего ключа. Вот как это выглядит, когда я настраиваю ssh-агент и кэширую свой ключ:
<tbielawa>@(expressomaker)[~] 04:15:33
$ eval `ssh-agent`
Agent pid 21725
<tbielawa>@(expressomaker)[~] 04:15:20
$ ssh-add
Enter passphrase for /Users/tbielawa/.ssh/id_rsa:
Identity added: /Users/tbielawa/.ssh/id_rsa (/Users/tbielawa/.ssh/id_rsa)
<tbielawa>@(expressomaker)[~] 04:15:31
$ ssh-add -l
2048 5f:e0:9b:92:e4:80:7e:5e:c8:29:00:29:ae:ca:bd:58 /Users/tbielawa/.ssh/id_rsa (RSA)
(Вам нужно только запустить eval ssh-agent
если он еще не запущен)
Затем, когда я устанавливаю SSH-соединения, я запускаю команду ssh с ForwardAgent
такой вариант:
<tbielawa>@(expressomaker)[~] 04:17:58
$ ssh fridge -o "ForwardAgent yes"
Last login: Wed Nov 3 14:32:28 2010 from expressomaker
За исключением того, что я не делаю этого все время, мой файл ~ / .ssh / config настроен для автоматической пересылки моего агента:
<tbielawa>@(fridge)[~] 04:18:03
$ cat .ssh/config
Host *
ForwardAgent yes
Если вы запустите свои команды ssh таким образом, ваш агент будет с вами на server
. Затем вы можете ssh на server3, используя комбинацию открытого и закрытого ключей.
Использовать ssh-agent
на machine1 и переадресации агента. Eсть отличный гид от Стива Фридла, который подробно это иллюстрирует.
Вы можете захотеть проверить Брелок, слишком.
Если вы хотите войти с одной машины на другую без пароля, вам нужно использовать ssh-keygen
инструмент, чтобы сгенерировать пару ключей, а затем скопировать ее на целевой компьютер.
Способ сделать это, создав пару ключей, а затем скопируйте открытый ключ на каждый сервер, к которому вы хотите получить доступ. Файл нужно скопировать в /home/user/.ssh/authorized_keys
. Конечно, вам придется заменить /home/user
с настоящим домашним каталогом пользователя.
Вот необходимые шаги:
1- Создайте пару ключей на машине1.
2- Скопируйте сгенерированный открытый ключ на machine2.
3- Создайте еще одну пару ключей на machine2.
4- Скопируйте сгенерированный открытый ключ на machine3.