Как узнать ssh key
🔐 Как просмотреть свои SSH-ключи на Linux, macOS и Windows
Вы знаете, что создали эти сертификаты SSH, но как их посмотреть?
Те, кто знаком с SSH, вероятно, уже знают ответ на этот вопрос.
Для остальных я покажу, насколько легко просмотреть эти ключи SSH, чтобы вы могли использовать их для сторонних служб.
Что вам понадобится
Единственное, что вам понадобится для этого, – это доступ к серверу или рабочему столу (Linux, macOS или Windows) и созданный ключ SSH.
Если вы еще не создали свою пару ключей SSH, вы можете сделать это с помощью команды:
Как посмотреть свой открытый ключ SSH на Linux
Есть два простых способа просмотреть свой открытый ключ SSH на Linux.
Первый метод немного сложен, потому что в нем используются команды ssh-agent и ssh-add.
Вероятно, это излишне для того, что вам нужно, но это хороший способ просмотреть ключ, требуя при этом пароль вашей пары ключей SSH.
После успешной аутентификации ваш открытый ключ SSH будет показан в терминале.
Как посмотреть свой открытый ключ SSH на macOS
Просмотр ключей на macOS можно выполнить аналогично Linux.
Откройте окно терминала и введите команду:
Где USERNAME – ваше имя пользователя macOS.
Приведенные выше команды выведут ваш открытый ключ SSH.
В macOS есть еще один интересный трюк.
Вы можете скопировать содержимое ключа SSH прямо в буфер обмена, не отображая ключ, с помощью инструмента pbcopy.
Эта команда будет следующей:
Как посмотреть свой открытый ключ SSH на Windows
В Windows вы будете использовать команду type для просмотра открытого ключа SSH следующим образом:
Где USERNAME – имя вашего пользователя.
Приведенная выше команда отобразит ваш открытый ключ SSH.
Затем вы можете использовать сочетание клавиш Ctrl + c, чтобы скопировать содержимое файла.
Вы также можете сделать что-то похожее на то, что мы делали в macOS (копирование открытого ключа SSH непосредственно в буфер обмена), используя следующие команды type и clip:
Где USERNAME – ваше имя пользователя.
Теперь вы можете вставить этот ключ в любое место.
Как посмотреть свой закрытый ключ
Скорее всего, вам никогда не придется просматривать свой закрытый ключ.
В конце концов, это секрет, который никогда не выставляется на всеобщее обозрение.
Помните, что id_rsa – это закрытый ключ, а id_rsa.pub – открытый ключ.
И это все, что нужно для просмотра открытых и закрытых ключей SSH в Linux, macOS и Windows.
Как создать ключ для авторизации по SSH и добавить его на сервер?
SSH-ключи представляют собой пару — закрытый и открытый ключ. Закрытый должен храниться в закрытом доступе у клиента, открытый отправляется на сервер и размещается в файле authorized_keys.
Создание SSH-ключей в Linux на примере CentOS
На клиентской стороне должен быть установлен пакет ssh (openssh). На серверах FirstVDS с шаблонами по умолчанию необходимое ПО уже установлено.
На клиентском компьютере в командной строке выполните команду генерации ключей:
Пароль (passphrase) используется для ограничения доступа к закрытому ключу. Пароль усложнит использование ключа третьими лицами в случае утраты. Если не хотите использовать секретную фразу, нажмите Enter без заполнения строки.
Успешно сгенерировав пару ключей, вы увидите уведомление:
Теперь можно отключить на сервере аутентификацию по паролю и использовать только SSH-ключи.
Создание SSH-ключей на Windows с PuTTYgen
В процессе генерации ключей несколько раз произвольно проведите мышкой по экрану приложения для создания случайных величин, используемых для ключей.
Откройте файл authorized_keys через WinSCP и файл, в который вы сохранили открытый ключ (public), на локальном компьютере текстовым редактором. Скопируйте значение ключа, сохраните и закройте файл в WinSCP.
При запуске PuTTY укажите путь к закрытому ключу на локальном компьютере. Для этого во вкладке Connections → Auth выберите необходимый путь.
Теперь можно отключить на сервере аутентификацию по паролю и использовать только SSH-ключи.
Отключение аутентификации по паролю
Подключитесь к серверу по SSH, используя пароль, и откройте файл sshd_config для редактирования.
Перезапустите службу sshd.
Checking for existing SSH keys
Before you generate an SSH key, you can check to see if you have any existing SSH keys.
Note: GitHub is improving security by dropping older, insecure key types.
DSA keys ( ssh-dss ) are no longer supported. Existing keys will continue to function through March 15, 2022. You cannot add new DSA keys to your user account on GitHub.com.
RSA keys ( ssh-rsa ) with a valid_after before November 2, 2021 may continue to use any signature algorithm. RSA keys generated after that date must use a SHA-2 signature algorithm. Some older clients may need to be upgraded in order to use SHA-2 signatures.
/.ssh to see if existing SSH keys are present.
Check the directory listing to see if you already have a public SSH key. By default, the filenames of supported public keys for GitHub are one of the following.
Tip: If you receive an error that
/.ssh doesn’t exist, you do not have an existing SSH key pair in the default location. You can create a new SSH key pair in the next step.
Either generate a new SSH key or upload an existing key.
If you don’t have a supported public and private key pair, or don’t wish to use any that are available, generate a new SSH key.
If you see an existing public and private key pair listed (for example, id_rsa.pub and id_rsa) that you would like to use to connect to GitHub, you can add the key to the ssh-agent.
For more information about generation of a new SSH key or addition of an existing key to the ssh-agent, see «Generating a new SSH key and adding it to the ssh-agent.»
Help us make these docs great!
All GitHub docs are open source. See something that’s wrong or unclear? Submit a pull request.
Как найти открытый ключ SSH
Главное меню » Linux » Как найти открытый ключ SSH
Как сгенерировать SSH-ключ
Первым шагом к настройке ключа SSH является создание пары. Пара ключей SSH содержит открытый и закрытый ключи. Используя общедоступную и частную пару, вы можете аутентифицировать пользователя на удаленном хосте.
В Linux используйте следующую команду для создания пары ключей SSH:
Приведенная выше команда потребует от вас ввода информации для настройки и создания ключей. Если вы находитесь в незащищенных сетях или критических системах, обязательно зашифруйте свои ключи парольной фразой.
Как просмотреть ключ SSH
Первый метод, который вы можете использовать для просмотра своего ключа SSH, – это использовать простую команду cat. Эта команда распечатает содержимое файла, которое вы можете скопировать и вставить на удаленный хост. По умолчанию ключи SSH хранятся в /home/$USER/.ssh
Для просмотра содержимого:
Приведенная выше команда распечатает содержимое вашего открытого ключа SSH. Ниже приведен пример ключа:
Другой метод, который вы можете использовать для просмотра содержимого вашего SSH-ключа, – это использование инструмента аутентификации Open-SSH с помощью команды, показанной ниже:
Эта команда запросит у вас пароль аутентификации для парольной фразы, если она назначена, как показано ниже:
Заключение
В этой статье показано, как сгенерировать ключ SSH, а также два метода, которые можно использовать для просмотра содержимого ключа SSH. По большей части вам нужно будет только просматривать содержимое открытых ключей, а не закрытых ключей. Всегда следите за тем, чтобы ваши ключи SSH всегда были защищены. Защитите свою оболочку!
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
SSH: RSA-ключи и ssh-agent – управление SSH-ключами и их паролями
В этом посте посмотрим примеры работы с ssh-agent и то, как можно хранить и управлять запароленными RSA-ключами без таких бекендов.
Примеры выполняются на Arch Linux (и, местами, для проверки – на Manjaro Linux с Budgie DE).
ssh-agent
ssh-agent предназначен для управления SSH-ключами пользователя и их паролями, что бы не вводить пароль к ключу каждый раз при использовании.
Запуск агента
Для работы клиентов важны переменные, которые задаются агентом:
Что бы запустить агента без вывода всей этой информации – используем:
Вариантов запуска много, рассмотрим их в конце, в Запуск ssh-agent и несколько консолей.
Примеры
Создание ключа
Проверка пароля
Смена пароля
Что бы изменить пароль, заня старый:
ssh-copy-id – копирование ключа на сервер
Скопировать ключ можно вручную, получив его публичную часть:
И скопировав содержимое в файл
И пробуем подключиться, используя этот ключ:
ssh-add
Окей, теперь у нас ключ для аутентификации на сервере, и ключ закрыт паролем.
При каждом обращении к серверу – нам придётся вводить пароль заново – Enter passphrase for key ‘/home/setevoy/.ssh/test-key’.
Проверим, что агент запущен:
Could not open a connection to your authentication agent
Самая частая ошибка при использовании агента – когда к нему невозможно подключиться, и ssh-add сообщает:
ssh-agent был запущен в другом терминале (об этом тоже поговорим ниже), поэтому перезапустим его.
Для “чистоты эксперимента” – убиваем запущеные инстансы агента:
И запускаем заново:
Добавление ключа
Проверка ключей в агенте
Удаление ключа
Автоматическое добавление в ssh-agent
Проверяем – сейчас ключей в агенте нет:
Выполняем подключение, вводим пароль ключа:
Отключаемся, проверяем ключи в агенте:
И теперь при повторном подключении – ключ уже будет взят из агента, и пароль вводить не потребуется:
Запуск ssh-agent и несколько консолей
Например, при вызове ssh-add в новом терминале получим уже упомянутую ошибку “Could not open a connection to your authentication agent“:
Вариантов много, например самый простой – добавить в
Но тогда для каждой сессии bash будет запускаться новый агент.
Тут выполняется (см. коды ответа ssh-agent в документации):
Более-менее вариант, т.к. во всех сессиях у нас будет использоваться один и тот же агент (хотя некоторые рекомендуют использовать различных агентов для разных пулов ключей, например для личных ключей – один агент, для рабочих – другой).
systemd
Ещё один вариант – создать systemd unit-файл и запускать ssh-agent как сервис, см. Arch Wiki.
Добавляем каталог, если не создан:
Далее, Wiki говорит про файл
Останавливаем запущенные инстансы агента:
Можно добавить в автозапуск:
Ещё один вариант – запускать из
В таком случае, при вызове startx (как у меня, когда login manager нет, и X.Org запускается вручную, через вызов startx в консоли) будет запущен агент, а затем – Openbox, см. документацию: