Главная

Friday, 9 March 2018

Доступ SSH по публичному ключу.

Всем привет.

У меня есть линуксовый полигон. Надо включить на него безопасное соединение по SSH-ключам.

SSH-ключи обеспечивают более безопасный вход на виртуальный выделенный сервер, чем при использовании пароля. Если пароль можно взломать во время атаки методом подбора ключа, SSH-ключи расшифровать таким образом практически невозможно. Создав пару ключей, вы получаете две длинные строки символов: открытый и закрытый ключ. Открытый ключ можно разместить на любом сервере, а потом разблокировать его при помощи клиента, у которого есть закрытый ключ. Когда ключи совпадают, система пустит вас без запроса пароля. Можно усилить безопасность, защитив закрытый ключ идентификационной фразой (passphrase).

Как создать пару SSH-ключей, где их хранить совершенно не секрет. Вот здесь например описано подробно. Даже если у вас Windows то можете воспользоваться для генерации либо PuttyGen либо Git-клиентом.

Для полигона мне нужен был локальный Git поэтому ключик я делал в нем. Если вы не хотите в будущем вводить пароль при входе то passphrase лучше не вводить.) При копировании открытого  ключа на целевой ПК (сервер) командой
ssh-copy-id username@123.45.56.78
в вашей папке .ssh должен появится файлик known_hosts. Есть? Отлично. 


Используем Putty для логина. И получаю сообщение:
Unable to use key file "D:\.ssh\id_rsa" (OpenSSH SSH-2 private key)


Вот здесь нам подсказывают что мы не донастроили саму Putty. Для этого надо сделать следующее. В PuttyGen загружаем наш приватный ключ id_rsa. Дальше жмем кнопку "save private key" и сохраняем полученный ppk файл. Далее в самой Putty под загруженную сессию вносим изменения:
Connection - Data - autologin username - <login>
и
Connection - Data - SSH -Auth - <PPK file path>

Опять используем Putty для логина. И получаем другое сообщение на ввод пароля:
Using username "имя пользователя".
Authenticating with public key "imported-openssh-key"
Passphrase for key "imported-openssh-key": 

Теперь Putty просит мою  passphrase для секретного ключа. Я предупреждал, если была установлена ключевая фраза, она будет запрошена в этот момент, а также при каждом последующем входе. Что мы имеем: вместо одного пароля вводим теперь другой, но наше соединение с сервером защищено.

Ах да, в самой Putty полезно также выполнить Window->Translation и выбрать в списке UTF-8, чтобы не было проблем с кодировкой. Чтобы не грешить на саму Linux.

На сегодня все.

No comments:

Post a Comment

А что вы думаете по этому поводу?