Переносим SSH-ключи с одного компьютера на другой

3K прочитали
В этой заметке хочу поделиться тем, как переношу SSH-ключи при смене дистрибутива или при переезде с одного компьютера на другой.

В этой заметке хочу поделиться тем, как переношу SSH-ключи при смене дистрибутива или при переезде с одного компьютера на другой. Изложенный ниже алгоритм использую уже давно, потому можно действительно сказать, что он испытан временем и практикой.

Что такое SSH-ключи?

Мы привыкли, что доступ к чему-либо осуществляется при наличии пары логин/пароль. Но данный способ не является безопасным. Поэтому вместо него можно использовать, так называемый, SSH-доступ. Суть этого доступа заключается в том, что имеется пара ключей - открытый (публичный) и закрытый (приватный) Да, ровно как и в случае с ключами GPG, про которые я рассказывал в материале про корпоративный и личный менеджер паролей). Познакомиться с ним вы можете по ссылке ниже.

Выбираем корпоративный и персональный менеджеры паролей

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

В общем, если подытожить, то SSH-ключи - это способ связи между компьютерами для передачи зашифрованной информации, который намного безопаснее, чем связка логина и пароля.

Генерация SSH-ключей

Если у вас нет пары ключей, то ее нужно сгенерировать. Для этого воспользуемся терминалом, в который введем следующую команду:

ssh-keygen -t rsa

В ответ терминал спросит вас о том, где нужно хранить сгенерированные ключи. По-умолчанию, они хранятся в папке .ssh в домашней директории пользователя. После нужно будет ввести пасс-фразу, которая защитит ваш закрытый (публичный) ключ от неправомерного доступа.

Опять-таки, рекомендую запомнить пасс-фразу, не нужно записывать ее куда-то или сохранять в отдельный файл, который будет хранится рядом с закрытым ключом.

После ввода пасс-фразы у вас папке .ssh в домашней директории появятся два файла id_rsa.pub (публичный, открытый ключ) и id_rsa (приватный, закрытый ключ).

В этой заметке хочу поделиться тем, как переношу SSH-ключи при смене дистрибутива или при переезде с одного компьютера на другой.-2

Содержимое первого файла доступно для передачи тем, с кем вы планируете обмениваться информацией, приватный ключ передавать кому-либо нельзя. Именно два этих файла и нужно хранить, чтобы в любой момент на новой системе или ПК их использовать.

Перенос ключей на другую систему или компьютер

У меня SSH-ключи хранятся в приватном гитлаб-репозитории, откуда я могу в любой момент их скачать и использовать. После установки новой системы или необходимости настроить еще один компьютер для работы (например, на всякий экстренный случай помимо персонального компьютера у меня есть ноутбук) я выполняю следующую последовательность действий:

  • Создаю в домашней директории папку .ssh (помним, что папка или файл с точкой в начале названия являются скрытыми)
  • Копирую туда файлы id_rsa.pub и id_rsa и меняю права доступа к ним, вводя в терминале следующие команды

sudo chmod 700 ~/.ssh - устанавливаю права доступа к папке .ssh

sudo chmod 644 ~/.ssh/id_rsa.pub - устанавливаю права доступа к публичному (открытому) ключу

sudo chmod 600 ~/.ssh/id_rsa - устанавливаю права доступа к приватному (закрытому) ключу

  • После в этом же терминале ввожу команду

ssh-add

  • Используя дистрибутив Archlinux столкнулся с тем, что перед вводом команды ssh-add нужно ввести в терминале

eval `ssh-agent -s`

После проделанных выше действий в систему будут скопированы ваши SSH-ключи и вы сможете ими пользоваться так, как раньше.

Может существуют иные, быстрые способы, копирования ранее сохраненных SSH-ключей, но я делаю так, как описал. Если иные методы есть, то расскажите о них в комментариях.

Не забываем подписываться на канал и ставить лайки. Мне важна адекватная обратная связь от подписчиков и читателей!