SSH-авторизация по ключу
SSH-авторизация по ключу позволяет быстро и без ввода пароля входить на удалённый сервер. Более того, она более безопасна, т.к. не подвержена атакам типа «Man-In-The-Middle attack» (MITM-атака) или, по-русски, атака посредника («человек посередине»).
Чтобы настроить SSH-авторизацию по ключу, необходимо создать пару ключей: открытый и закрытый. Открытый ключ добавляется в файл authorized_keys, закрытый копируется на компьютер, с которого будет осуществляться вход.
Настройка сервера к которому будем подключаться
Пара ключей создаётся командой ssh-keygen:
Generating public/private RSA key pair. Enter file in which to save the key (/root/.ssh/id_rsa):
Здесь предлагается ввести путь и имя файла. Если нажать «Ввод» и ничего не вводить, то пара ключей создастся в каталоге /root/.ssh и будут иметь названия id_rsa (закрытый) и id-rsa.pub (открытый).
Затем вам предлагается ввести пароль к ключу:
Enter passphrase (empty for no passphrase):
Пароль или правильнее, кодовую фразу, можно оставить пустым. Её можно задать (заменить) позже, набрав ssh-keygen -p.
Копируем открытый ключ в файл authorized_keys:
Устанавливаем права доступа 600, иначе SSH откажется работать:
Теперь открытый ключ можно удалить, он больше не нужен:
Настройка удалённого компьютера Linux
Копируем закрытый ключ (в нашем случае это id_rsa) на компьютер, с которого будет осуществляться вход в каталог /root/.ssh и переименовываем его в хост удалённого компьютера. Т.е., например, если вы подключаетесь ssh root@proba.com, то ключ должен иметь имя proba.com.
На этом настройка Linux-клиента закончена.
Настройка удалённого компьютера Windows
Копируем закрытый ключ (в нашем случае это id_rsa) на Windows компьютер, с которого будет осуществляться вход.
В поставку Windows входит SSH-клиент, но ключ, созданный в Linux, ему не подходит. Его надо конвертировать с помощью программы puttygen.exe. Скачать её можно с сайта https://www.putty.org.
Запускаем puttygen.exe, в меню Conversions выбираем пункт Import key. В диалоговом окне выбираем наш закрытый ключ id_rsa. Затем в меню Conversions выбираем пункт Export OpenSSH key и указываем имя файла (для ясности лучше указать расширение .ppk).
Важно установить права одного пользователя, в противном случае Windows заблокирует доступ к ключу. Щёлкаем правой кнопкой мыши по файлу, выбираем пункт «Свойства». Переходим на вкладку «Безопасность», затем нажимаем кнопку «Дополнительно». В открывшемся окне щелкаем по кнопке «Отключить наследования», в следующем появившемся окне нажимаем «Удалить все унаследованные разрешения из этого объекта». Нажимаем «Ок», на предупреждение «Да».
Вернувшись в окно «Свойства» нажимаем кнопку «Изменить», в открывшемся окне кнопку «Добавить», затем «Дополнительно…» и в новом окне щёлкаем по копке «Поиск». В результатах поиска выбираем себя и дальше везде нажимаем «ОК». В результате у вас должно получиться:
Для подключения к удалённому компьютеру запустите командную строку cmd и введите:
где root — имя пользователя, 192.168.1.214 — IP адрес компьютера, D:\Keys\id_rsa.ppk — путь к нашему ключу.
Можно создать ярлык на рабочем столе с этой командой и назначить ему сочетание клавиш для быстрого запуска.
В Windows 11 можно открыть несколько вкладок и переключаться между ними с помощью комбинации клавиш Ctrl + Alt + 1…2…3…4 и т.д. в зависимости от количества вкладок.