Использование ключа SSH для подключения, но без опции -i
Я работаю с несколькими хостами и не хочу указывать пароль каждый раз, когда хочу подключиться к любому хосту. Затем я сгенерировал ключ с:
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 в файл author_keys на каждом хосте и могу подключиться с помощью:
ssh -i /path/to/my_key user@host
Но вот моя проблема, я хочу подключиться без указания ключа. Я хотел бы найти способ, которым я бегу:
ssh user@host
Примечание. Я хочу сохранить ключи по умолчанию для id_rsa и id_rsa.pub. Ключ my_key является альтернативной опцией для управления другими хостами.
2 ответа
Вы ищете ~/.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 для всех деталей конфигурации для этого файла.
Если вы находитесь в *nix, вы можете использовать ssh-agent / ssh-add для хранения ваших идентификационных данных в памяти для вашего сеанса.
- Запустите 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.