2

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

Enter file in which to save the key (/home/robe/.ssh/id_rsa): my_key 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in my_key.
Your public key has been saved in my_key.pub.
The key fingerprint is:
e6:d9:a3:85:38:b1:b2:a9:4d:3b:c1:33:65:df:57:25 robe@computer
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|              E .|
|               o |
|      o       .  |
|   . o..S.   .   |
|    =  *.+. .    |
|    o++ + +.     |
|   o.= . o .     |
|  ..=.  .        |
+-----------------+

Затем я копирую my_key.pub к authorized_keys файлу в каждых хостах и я могу соединиться с:

ssh -i /path/to/my_key  user@host

Но вот моя проблема, я хочу подключиться без указания ключа. Я хотел бы найти способ, которым я бегу:

ssh user@host

Примечание . Я хочу сохранить ключи по умолчанию для id_rsa и id_rsa.pub. Ключ my_key является альтернативной опцией для управления другими хостами.

2 ответа2

6

Вы ищете файл конфигурации ~/.ssh/config . Например, добавьте эту запись в этот файл.

Host host
    HostName host.example.com
    User johndoe
    IdentityFile ~/.ssh/host.key

Теперь вы можете напечатать

ssh host

И ssh будет автоматически использовать имя пользователя и ключ, указанные вами в параметре IdentityFile . Поэтому эта команда эквивалентна:

ssh johndoe@host.example.com -i ~/.ssh/host.key

см. http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/ssh_config.5 для всех деталей конфигурации для этого файла.

1

Если вы находитесь в * nix, вы можете использовать ssh-agent/ssh-add для хранения ваших идентификационных данных в памяти для вашего сеанса.

  1. Запустите ssh-agent из терминала

user @ machine $ ssh-agent bash

Это создаст процесс bash с запущенным ssh-agent

Если вы не хотите создавать другой процесс, то

user @ machine $ ssh-agent -s

SSH_AUTH_SOCK =/ TMP / SSH-shtzxe4347 / agent.4347; экспорт SSH_AUTH_SOCK; SSH_AGENT_PID = 4348; экспортировать SSH_AGENT_PID; эхо-агент pid 4348;

Вы должны выполнить команды, выделенные жирным шрифтом, чтобы обновить переменные env.

2.После любого из предыдущих шагов

user @ machine $ ssh-add

чтобы добавить ваш .ssh/id_rsa к агенту, если у вашего ключа есть пароль, он запросит его

http://linux.die.net/man/1/ssh-agent http://linux.die.net/man/1/ssh-add


Современные рабочие столы Linux имеют графический интерфейс для этого и запускают агента с момента входа в систему.

В Windows вы можете использовать Pageant (часть Putty) вместо ssh-agent.

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