17.4. Аутентификация с использованием открытых ключей

Проблема
Требуется проводить аутентификацию сеансов SSH с применением ключей (вме сто системных учетных записей). Это позволит вам использовать пароль SSH
вместо данных учетной записи, что повышает уровень защиты этих данных. Кро ме того, одна пара ключей (открытый и закрытый) может использоваться для про извольного количества удаленных хостов.
Решение
В следующем примере пользователь Valorie хочет подключиться с компьютера
saturn к компьютеру jupiter. Для этого он должен сгенерировать Hajupiter новую,
персональную пару ключей утилитой ssh_keygen, а затем передать копию своего
нового открытого ключа на saturn.
Следующая команда генерирует новую пару ключей RS А, защищенную паролем:
valorie@jupiter:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/valorie/.ssh/idrsa.
Your public key has been saved in /home/valorie/.ssh/idrsa.pub.
The key fingerprint is:
79:lf:a5:5f:5f:17:e5:a8:bC:02:50:8c:3a:le:el:dl valorie@jupiter
Далее пользователь Valorie копирует новый ключ id_rsa.pub в свою учетную
запись на компьютере saturn. Поскольку данные в файл authorized_keys на saturn
заносятся впервые, для копирования можно воспользоваться командой scp:
valorie@jupiter:~$ scp -/.ssh/id_rsa.pub valorie@saturn:.ssh/authorized_keys
Теперь при входе на saturn пользователю Valorie будет предложено ввести па роль закрытого ключа SSH>K
valorie@jupiter:~$ ssh saturn
Enter passphrase for key 'home/valorie/.ssh/idrsa':
Linux saturn 2.4.21 #1 Sun Aug 3 20:15:59 PDT 2003 i686 GNU/Linux
Libranet GNU/Linux
va1orie@saturn:~$
Сеанс завершается командой exit.
Комментарий
OpenSSH использует ключи RSA и DSA. Оба вида ключей поддерживают SSH2,
поэтому неважно, какой из них будет выбран. По умолчанию используются RSA.
Копирование ключа в файл authorized_keys на удаленном компьютере также
может осуществляться простым копированием/вставкой. Откройте нормальный
сеанс SSH:
$ ssh valorieteaturn
Password:
Затем запустите текстовый редактор на обоих концах подключения и выпол ните копирование/вставку.
Это можно проделать для любой учетной записи на доступном сервере SSH.
Одной пары ключей должно быть достаточно; открытый ключ можно скопировать
на любое количество хостов и использовать один и тот же пароль на всех хостах.
Следите за тем, с каким компьютером вы работаете! Легко ввести команду,
полагая, что вы находитесь на локальном хосте, тогда как на самом деле вы под ключены к удаленному компьютеру.
Защищайте ключи! Открытые ключи должны быть общедоступными для чте ния, но запись в них должна разрешаться только владельцу (режим 644). Закры тые ключи должны быть недоступны по чтению/записи для всех, кроме их вла дельца (режим 600). Никогда, ни при каких условиях не передавайте закрытые
ключи другим пользователям.
Помните, что некоторые текстовые редакторы автоматически создают резерв ные копии файлов. Либо отключите этот режим, либо немедленно удаляйте ре зервные копии ключей и других конфиденциальных файлов SSH.
См. также
ssh(l).