Автоматическая SSH-авторизация по ключу



Создание SSH-ключей
По умолчанию в корневой директории пользователя находится директория .ssh, если по какой-то причине её нет, то создаём её командой:
$ mkdir ~/.ssh
1) Создаем открытый и закрытый ключ нашей локальной системы:
$ ssh-keygen -t rsa -q -N '' -f ~/.ssh/id_rsa
Подробнее о ключах можете посмотреть с помощью команды:
$ ssh-keygen --help
2) Если в системе есть программа ssh-copy-id, то настраиваем удаленную систему на то, чтобы она авторизовала SSH по открытому ключу:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote.org.ua
переходим к шагу 4
3) Если ssh-copy-id нет, то можно сделать это вручную.
Вот последовательность действий:
3.1) копируем открытый ключ на удаленную систему:
$ scp ~/.ssh/id_rsa.pub user@remote.org.ua:~
3.2) Авторизуемся на удаленном сервере:
$ ssh user@remoute.org.ua
3.3) Заносим открытый ключ нашей локальной системы в авторизованные ключи удаленной системы, устанавливаем правильные права и "убираем за собой мусор":
remote$ [ -d ~/.ssh ] || (mkdir ~/.ssh; chmod 711 ~/.ssh) # создаем директорию и даём права
remote$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys # добавляем открытый ключ
remote$ chmod 600 ~/.ssh/authorized_keys # делаем правильные права
remote$ rm ~/id_rsa.pub # удаляем не нужное
4) Проверяем, что все работает, запускаем на локальном компьютере:
$ ssh user@remoute.org.ua
Пример автоматического подключения из Windows через Bitvise SSH Client и PuTTYgen
Сперва скачаем с официального сайта обе утилиты: PuTTYgen и Bitvise SSH Client
Теперь утилитой PuTTYgen сгенерируем публичный и приватный ключ. Открываем утилиту и нажимаем Генерировать:
После нажатия, необходимо произвольно водить мышкой для заполнения массива случайных чисел, примерно в квадрате под полосой загрузки:
По окончании процесса генерации, утилита предоставит Вам сгенерированный приватный и публичный ключ. Публичный, который обведен красным прямоугольником, нужно занести в файл authorized_keys, который находится в папке .ssh корне Вашего аккаунта на сервере, а приватный ключ сохраняем себе на компьютер. Для этого нажимаем на кнопку Личный ключ. Учтите, что приватный ключ нельзя ни показывать, ни передавать, иначе смысл безопасного подключения теряется.
Сейчас скопируем публичный ключ в файл .ssh/authorized_keys находящийся на Вашем аккаунте. Для этого открываем утилиту Bitvise SSH Client и вводим следующие данные :
После нажимаем кнопку подключиться и входим на рабочий стол.
После этого полностью копируем публичный ключ из области, выделенной красным цветом (на слайде выше), в консоли пишем cat >> .ssh/authorized_keys << EOF, нажимаем Enter, затем вставляем публичный ключ, еще раз нажимаем Enter, пишем EOF и еще раз жмем Enter:
Отлично, ключ добавлен! Теперь проверим нашу беспарольную аутентификацию. Для этого открываем еще раз Bitvise SSH Client и нажимаем Client Key Manager :
После открывается окно в котором необходимо добавить наш личный ключ :
Выбираем наш файл с ключом и нажимаем Import, после этого добавленный ключ будет показываться таким образом :
Закрываем это окно и выбиваем способ подключения Publickey и и локацию нашего ключа ( в нашем случае Global 1) :
И сразу после нажатия Подключиться, наш рабочий терминал откроется :
Удачной работы!