Вводить пароли утомительно, особенно если они состоят из нескольких слов. Требуется использовать OpenSSH для открытия подключений без ввода пароля (но при этом сохранить защиту подключения).
Начните с настройки открытого и закрытого ключей, а затем воспользуйтесь ssh-agent. Эта программа обрабатывает запросы на аутентификацию при подключении к различным системам через SSH. Пароль вводится только один раз, в начале сеанса SSH; после выхода из сеанса его придется вводить заново.
Ssh-agent не позволит запланировать пересылку данных через SSH.
Прежде всего запустите ssh-agent с указанием используемого командного процессора:
ssh-agent bash
После появления стандартного приглашения запустите утилиту ssh-add, которая загружает все ключи из каталога -/.ssh: ssh-add
Enter passphrase for /home/jenn/.ssh/id_rsa:
Identity added: /home/jenn/.ssh/idjrsa (/home/jenn/.ssh/id_rsa)
Enter passphrase for /home/jenn/.ssh/apache_key:
Identity added: /home/jenn/.ssh/id_rsa (/home/jenn/.ssh/apache_key)
В дальнейшем вы сможете войти на любой хост SSH без ввода пароля: jenn windbag: ssh powerpc
Linux powerpc 2.4.21 1 Sun Aug 3 20:15:59 POT 2003 1686 GNU/Linux Libranet GNU/Linux
Last Login: Web Feb 7 18:28:20 2004 from windbag.test.net jenn powerpc:
Чтобы завершить работу ssh-agent, просто выйдите из командного процессора ssh-agent: exit
Комментарий
Поскольку пароли и ключи ассоциируются с конкретным процессом Bash, при выходе из командного процессора ssh-agent они пропадают. Если запустить второй командный процессор для запуска другой копии ssh-agent, пароль придется вводить заново, даже если первый процесс остается активным.
Чтобы узнать, какие ключи использует ssh-agent, введите команду ssh-add -1
1024 65:91:77:71:24:66:46:ea:cb:00:fe:83:ad:b8:4a:34 /home/jenn/.ssh/1d_rsa (RSA) 1024 da:f7:27:6a:37:4e:a5:bb:ld:00:c7:a8:e9:fe:23:d8 /home/jenn/.ssh/apache_key (RSA)
Чтобы команда сработала, необходимо вернуться к локальному командному процессору ssh-agent и не быть подключенным к удаленному хосту. При подключении работой терминала управляет удаленный хост, и вы получите сообщение об ошибке «Could not open a connection to your authentication agent».
Команда ssh-add позволяет загружать конкретные ключи: ssh-add /home/jenn/adminkeys/id_rsa__http и удалять ключи из активного сеанса ssh-agent (при этом ключ не удаляется из системы):
ssh-add -d /home/jenn/.ssh/id_dsa
Identity removed: /home/jenn/.ssh/id_dsa (/home/jenn/.ssh/idjjsa.pub)
Следующая команда удаляет все ключи:
ssh-add -О
All identities removed.