ssh-keygen: создание SSH-ключей, регистрация открытого ключа и использование ssh-copy-id
ssh-keygen — команда OpenSSH, которая создаёт пару из закрытого и открытого ключа для SSH-подключений, а также проверяет отпечатки, меняет парольную фразу и чистит known_hosts. На сервере AlmaLinux 9 мы создали ключи ed25519 и rsa, проверили отпечатки, сменили парольную фразу и комментарий, а затем проверили ssh-copy-id в режиме dry-run: на сервер уходит только одна строка открытого ключа из файла .pub.
Имена учётных записей и пути к файлам ключей в выводе ниже — примерные значения, а отпечатки, открытые ключи и randomart взяты у ключей, созданных при написании статьи и затем удалённых. Команда, которая на самом деле регистрирует открытый ключ на сервере, приведена, но не выполнялась.
1️⃣ Создание ключа в ssh-keygen: -t ed25519 и комментарий -C
Ключ создаётся в виде ssh-keygen -t ТИП -C КОММЕНТАРИЙ. -t — тип ключа, а -C — комментарий в конце открытого ключа, куда пишут адрес электронной почты или назначение ключа. Ниже полный вывод, когда файл задан через -f, а на оба вопроса о парольной фразе нажат Enter.
ssh-keygen -t ed25519 -C "user@example.com" -f ~/.ssh/id_ed25519Generating public/private ed25519 key pair.
Enter passphrase for "/home/user/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_ed25519
Your public key has been saved in /home/user/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:c73KJh85pPijvy43kS1uaQo77fSsGlE4Wz+aMF+sTy8 user@example.com
The key's randomart image is:
+--[ED25519 256]--+
| |
| . |
| o o |
| = o . |
| = Soo . |
| = *+*.. . |
| o.B.o++ . |
| .=o*Eo.+ |
| o+=@OO= |
+----[SHA256]-----+Если на вопрос о парольной фразе нажать только Enter, ключ будет без парольной фразы. Если опустить -f, перед этим вопросом сначала появится строка с вопросом, куда сохранить файл. В скобках указан путь по умолчанию — .ssh/id_ed25519 в домашней папке, и простое нажатие Enter сохраняет ключ туда.
randomart в конце вывода — это отпечаток в виде рисунка. При создании ключа и при повторной проверке через -lv появился один и тот же рисунок.
ls -l ~/.ssh/id_ed25519 ~/.ssh/id_ed25519.pub-rw------- 1 user user 411 Oct 29 08:22 /home/user/.ssh/id_ed25519
-rw-r--r-- 1 user user 98 Oct 29 08:22 /home/user/.ssh/id_ed25519.pubЗакрытый ключ создан с правами 600, открытый — с правами 644. Закрытый ключ храните только на своём компьютере и никуда не отправляйте.
cat ~/.ssh/id_ed25519.pubssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJVLiw04ugfXq15n2m8ZDW0OywkRoug8beXw/9VnVY/L user@example.comОткрытый ключ — это одна строка из типа ключа, значения ключа и комментария, разделённых пробелами. Именно эта строка попадает в authorized_keys на сервере, к которому вы подключаетесь. Назначение каждого файла в папке собрано в дерево.
2️⃣ Параметры ssh-keygen: -f, -N, -b, -q
Отвечать на вопросы удобно при ручном вводе, но в скрипте вопросы нужно убрать совсем. Если задать файл через -f, а парольную фразу через -N, ключ создаётся сразу, без вопросов.
ssh-keygen -t ed25519 -f ~/.ssh/deploy_key -N "" -C "deploy@example.com"Generating public/private ed25519 key pair.
Your identification has been saved in /home/user/.ssh/deploy_key
Your public key has been saved in /home/user/.ssh/deploy_key.pub
The key fingerprint is:
SHA256:Rhk2/tgn59K8jtvDWJTOLiYnToM8t4gkdaMfu6TJ0oM deploy@example.com
The key's randomart image is:
+--[ED25519 256]--+
| + |
| o + |
| + . |
| . + o |
| . o S ++o |
| . + + B+ |
| .oo * + .=+ |
| E+o* Boo=++. |
| .=.=oo=o++. |
+----[SHA256]-----+С пустыми кавычками после -N ключ создаётся без парольной фразы, и место сохранения и отпечаток появились сразу, без единого вопроса.
ssh-keygen -t ed25519 -f ~/.ssh/deploy_key -N ""Generating public/private ed25519 key pair.
/home/user/.ssh/deploy_key already exists.
Overwrite (y/n)?При повторном запуске с тем же именем после already exists команда спрашивает, перезаписать ли файл. После ввода n ничего не изменилось, и команда завершилась с кодом выхода 1. Чтобы случайно не перезаписать используемый ключ, создавайте новые ключи под другим именем.
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" -C "user@example.com"Generating public/private rsa key pair.
Your identification has been saved in /home/user/.ssh/id_rsa
Your public key has been saved in /home/user/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:f+uwCSQjMka1BEHzXADwIWbrlbVRiP6Z4tjnwNwPVAA user@example.com
The key's randomart image is:
+---[RSA 4096]----+
|o=BE*=+. |
|oo.Oo++ |
| .+o+. . |
|.... . |
| .+ o.= S |
| .o+o= + . |
| ++.o . o . |
| . o..o . = . |
| o. . o.o |
+----[SHA256]-----+Для rsa длину задаёт -b. По руководству значение по умолчанию — 3072 бита; выше ключ создан с 4096 битами, и в заголовке randomart появилось RSA 4096. В руководстве сказано, что у ed25519 длина фиксирована, поэтому -b для него игнорируется.
ssh-keygen -f ~/.ssh/default_key -N "" -C "user@example.com"Generating public/private ed25519 key pair.
Your identification has been saved in /home/user/.ssh/default_key
Your public key has been saved in /home/user/.ssh/default_key.pub
The key fingerprint is:
SHA256:mwy02fpKxjxEVvLC2EUJeaMIiNFOVS0GwWVjN9v0j4c user@example.com
The key's randomart image is:
+--[ED25519 256]--+
|o+ o+=O=*.. |
|o + .*+B== . |
| o ..oB+o.. . |
| . .+.= + |
| = S E o |
| + + o . |
| B + |
| o o |
| ... |
+----[SHA256]-----+Без -t был создан ключ ed25519.
ssh-keygen -q -t ed25519 -f ~/.ssh/backup_key -N "" -C "backup@example.com"; echo rc=$?rc=0С -q скрывается всё, включая отпечаток и randomart, и остаётся только код выхода. Это пригодится, когда скрипт создаёт ключи для нескольких серверов.
📌 Основные опции: результаты из этой статьи
| Опция | Назначение | Результат в этой статье | |
|---|---|---|---|
| -t ТИП | Тип создаваемого ключа | В первой строке вывода виден тип, например ed25519 или rsa; без параметра — ed25519 | |
| -C КОММЕНТАРИЙ | Комментарий в конце открытого ключа | user@example.com в конце открытого ключа, показанного через cat | |
| -f ФАЙЛ | Путь к файлу ключа | Строка о сохранении в /home/user/.ssh/deploy_key; при повторном запуске с тем же именем already exists и Overwrite (y/n)? | |
| -N ФРАЗА | Новая парольная фраза (passphrase); пустые кавычки — без парольной фразы | Место сохранения и отпечаток сразу, без вопроса о парольной фразе | |
| -b БИТЫ | Длина ключа | При 4096 для rsa в заголовке randomart RSA 4096 | |
| -q | Скрывает весь вывод | Остаётся только строка rc=0, выведенная echo | |
| -l | Выводит отпечаток файла ключа | Один и тот же отпечаток SHA256 у открытого и закрытого ключа; для authorized_keys — по строке на ключ | |
| -E ХЕШ | Задаёт тип хеша отпечатка | С -E md5 отпечаток, начинающийся с MD5:00:7b:02:5e | |
| -v | Вместе с -l выводит и randomart | Тот же randomart, что при создании ключа | |
| -y | Извлекает открытый ключ из закрытого и выводит его | Одна строка открытого ключа, совпадающая с файлом .pub до символа | |
| -p | Меняет парольную фразу закрытого ключа | Появляется строка о сохранении с новой парольной фразой, а закрытый ключ растёт с 411 до 464 байт | |
| -P ФРАЗА | Старая парольная фраза (установленная сейчас) | С верной фразой — открытый ключ, с неверной — incorrect passphrase supplied to decrypt private key | |
| -c | Меняет комментарий; новый задаётся через -C | Old comment: user@example.com и Comment 'user@laptop' applied | |
| -F ХОСТ | Ищет строку этого хоста в known_hosts | # Host 192.0.2.10 found: line 1 и сама строка | |
| -R ХОСТ | Удаляет строку этого хоста из known_hosts | known_hosts updated и исходный файл known_hosts.old; для отсутствующего хоста — not found | |
| -H | Хеширует имена хостов и адреса в known_hosts | Строки начинаются с |1|, и выводится WARNING о том, что файл .old хранит строки без хеширования |
📎 Другие опции: по официальному руководству
| Опция | Назначение | |
|---|---|---|
| -a РАУНДЫ | Число раундов KDF (bcrypt_pbkdf) при сохранении закрытого ключа; чем больше, тем медленнее проверка парольной фразы и выше стойкость к перебору; по умолчанию 16 | |
| -A | Создаёт недостающие ключи хоста для каждого типа по умолчанию (rsa, ecdsa, ed25519) в путях по умолчанию | |
| -B | Выводит дайджест bubblebabble файла ключа | |
| -e | Преобразует ключ OpenSSH в формат -m (по умолчанию RFC4716) и выводит его, для других SSH-программ | |
| -i | Преобразует ключ без парольной фразы в формате -m (по умолчанию RFC4716) в формат OpenSSH и выводит его | |
| -m ФОРМАТ | Задаёт формат ключа (RFC4716, PKCS8, PEM); вместе с -p преобразует закрытые ключи между форматами OpenSSH и PEM | |
| -r ХОСТ | Выводит по открытому ключу DNS-запись SSHFP для этого имени хоста | |
| -s КЛЮЧ_CA | Подписывает открытый ключ ключом CA и создаёт сертификат | |
| -L | Выводит содержимое сертификата | |
| -K | Загружает в текущую папку resident-ключи, хранящиеся на FIDO-аутентификаторе | |
| -Y sign | Подписывает файл SSH-ключом; подпись сохраняется с .sig в конце имени файла, а пространство имён задаётся через -n |
3️⃣ ssh-keygen -l для проверки отпечатка и -y для извлечения открытого ключа
Если файлов ключей несколько, по одному имени трудно понять, какой открытый ключ в паре с каким закрытым. Отпечаток у закрытого и открытого ключа одинаковый, поэтому пару можно подтвердить, сравнив через -l отпечатки обоих файлов.
ssh-keygen -l -f ~/.ssh/id_ed25519.pub256 SHA256:c73KJh85pPijvy43kS1uaQo77fSsGlE4Wz+aMF+sTy8 user@example.com (ED25519)ssh-keygen -l -f ~/.ssh/id_ed25519256 SHA256:c73KJh85pPijvy43kS1uaQo77fSsGlE4Wz+aMF+sTy8 user@example.com (ED25519)Файл открытого ключа и файл закрытого ключа дали один и тот же отпечаток SHA256. Число 256 в начале — длина ключа, а скобки в конце — тип ключа.
ssh-keygen -l -E md5 -f ~/.ssh/id_ed25519.pub256 MD5:00:7b:02:5e:b8:ba:85:0c:32:d7:15:7e:72:45:f7:bc user@example.com (ED25519)С -E md5 вывод переходит на старый формат отпечатка MD5. Это нужно для сверки, когда старый сервер или панель управления показывает отпечатки MD5.
ssh-keygen -lv -f ~/.ssh/id_ed25519.pub256 SHA256:c73KJh85pPijvy43kS1uaQo77fSsGlE4Wz+aMF+sTy8 user@example.com (ED25519)
+--[ED25519 256]--+
| |
| . |
| o o |
| = o . |
| = Soo . |
| = *+*.. . |
| o.B.o++ . |
| .=o*Eo.+ |
| o+=@OO= |
+----[SHA256]-----+Если добавить -v, randomart появится снова. Это был тот же рисунок, что и при создании ключа.
ssh-keygen -l -f ~/.ssh/authorized_keys256 SHA256:Rhk2/tgn59K8jtvDWJTOLiYnToM8t4gkdaMfu6TJ0oM deploy@example.com (ED25519)Если передать файл с несколькими строками открытых ключей, например authorized_keys, на каждый ключ выводится по строке отпечатка. Так проверяют, какие ключи зарегистрированы на сервере.
ssh-keygen -y -f ~/.ssh/id_ed25519ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJVLiw04ugfXq15n2m8ZDW0OywkRoug8beXw/9VnVY/L user@example.com-y снова извлекает открытый ключ из закрытого. Если файл .pub удалён или на другой компьютер перенесён только закрытый ключ, достаточно сохранить этот вывод в файл. Вывод совпал с исходным файлом .pub до символа.
4️⃣ ssh-keygen -p для смены парольной фразы и -c для смены комментария
Если поставить на закрытый ключ парольную фразу (passphrase), даже утёкшим файлом нельзя воспользоваться без неё. Зато её нужно вводить при каждом подключении, поэтому она подходит для ключей, которыми люди пользуются вручную, но не для ключей скриптов, работающих сами, например по cron.
ssh-keygen -p -f ~/.ssh/id_ed25519 -P "" -N "example-pass"Key has comment 'user@example.com'
Your identification has been saved with the new passphrase.-P — старая парольная фраза, -N — новая. У ключа не было парольной фразы, поэтому в -P переданы пустые кавычки, и появились две строки о повторном сохранении с новой парольной фразой. В руководстве сказано, что -p без параметров по очереди спрашивает старую и новую парольную фразу.
ls -l ~/.ssh/id_ed25519-rw------- 1 user user 464 Oct 29 08:22 /home/user/.ssh/id_ed25519После установки парольной фразы файл закрытого ключа вырос с 411 до 464 байт.
ssh-keygen -y -f ~/.ssh/id_ed25519 -P "example-pass"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJVLiw04ugfXq15n2m8ZDW0OywkRoug8beXw/9VnVY/L user@example.comssh-keygen -y -f ~/.ssh/id_ed25519 -P "wrongpass"Load key "/home/user/.ssh/id_ed25519": incorrect passphrase supplied to decrypt private keyДля ключа с парольной фразой -y тоже требует фразу, переданную через -P. С верной фразой вышел тот же открытый ключ, что и раньше, а с неверной команда завершилась ошибкой incorrect passphrase. В руководстве прямо сказано, что утерянную парольную фразу восстановить нельзя, поэтому если вы её забыли, создайте новый ключ и заново зарегистрируйте открытый ключ.
ssh-keygen -c -C "user@laptop" -f ~/.ssh/id_ed25519 -P "example-pass"Old comment: user@example.com
Comment 'user@laptop' appliedcat ~/.ssh/id_ed25519.pubssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJVLiw04ugfXq15n2m8ZDW0OywkRoug8beXw/9VnVY/L user@laptop-c меняет комментарий. Старый и новый комментарии выводятся каждый в своей строке, и комментарий в конце файла открытого ключа тоже стал user@laptop. Комментарий — лишь метка для различения ключей, поэтому само значение ключа не изменилось.
ssh-keygen -p -f ~/.ssh/id_ed25519 -P "example-pass" -N ""Key has comment 'user@laptop'
Your identification has been saved with the new passphrase.Чтобы убрать парольную фразу, передайте в -N пустые кавычки. Появляются те же две строки, и после этого -y снова работает без -P.
5️⃣ ssh-keygen -R: удаление ключа хоста из known_hosts
В known_hosts построчно накапливаются ключи хостов серверов, к которым вы подключались. Если сервер переустановить и его ключ хоста изменится, ssh отклонит подключение, так как ключ не совпадает с сохранённым, и параметр, удаляющий старую строку, — это -R. known_hosts ниже — файл из трёх строк с примерными адресами, указанный через -f.
cat ~/.ssh/known_hosts192.0.2.10 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKKphFOc7oiKNpIHFTzK/ippCS5U5D+lF3xmXM6dmYjk
server2.example.com,192.0.2.20 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID3s6oYeTCz7KeYs0f/60/Ix0DhmK4hf1uHCC10TrXyR
[192.0.2.30]:2222 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC0WmcBD2HIsiSn+tERrbeFIyExAodSEUhE9j5WMpkRWВ каждой строке по порядку идут имя хоста или адрес, тип ключа и значение ключа. Вторая строка с запятой содержит имя и адрес одного и того же сервера, а квадратные скобки с двоеточием в третьей строке означают порт, отличный от 22.
ssh-keygen -F 192.0.2.10 -f ~/.ssh/known_hosts# Host 192.0.2.10 found: line 1
192.0.2.10 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKKphFOc7oiKNpIHFTzK/ippCS5U5D+lF3xmXM6dmYjk-F выводит строку этого хоста вместе с её номером. Для отсутствующего хоста ничего не вывелось, и команда завершилась с кодом выхода 1.
ssh-keygen -R 192.0.2.10 -f ~/.ssh/known_hosts# Host 192.0.2.10 found: line 1
/home/user/.ssh/known_hosts updated.
Original contents retained as /home/user/.ssh/known_hosts.oldcat ~/.ssh/known_hostsserver2.example.com,192.0.2.20 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID3s6oYeTCz7KeYs0f/60/Ix0DhmK4hf1uHCC10TrXyR
[192.0.2.30]:2222 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC0WmcBD2HIsiSn+tERrbeFIyExAodSEUhE9j5WMpkRW-R удаляет строку этого хоста и сохраняет исходный файл как known_hosts.old. После удаления осталось только две строки.
ssh-keygen -R 192.0.2.99 -f ~/.ssh/known_hostsHost 192.0.2.99 not found in /home/user/.ssh/known_hostsssh-keygen -R "[192.0.2.30]:2222" -f ~/.ssh/known_hosts# Host [192.0.2.30]:2222 found: line 2
/home/user/.ssh/known_hosts updated.
Original contents retained as /home/user/.ssh/known_hosts.oldДля отсутствующего хоста вывелась только одна строка not found. Сервер с другим портом найдётся, только если указать квадратные скобки и порт точно так, как они записаны в known_hosts.
ssh-keygen -H -f ~/.ssh/known_hostsWARNING: /home/user/.ssh/known_hosts.old contains unhashed entries
Delete this file to ensure privacy of hostnames
/home/user/.ssh/known_hosts updated.
Original contents retained as /home/user/.ssh/known_hosts.oldcat ~/.ssh/known_hosts|1|JL/knNlx/BnCoOWp5rNeRo3r1rE=|OCPyeFd1rgG8P2QGzrju/V2Y8c4= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID3s6oYeTCz7KeYs0f/60/Ix0DhmK4hf1uHCC10TrXyR
|1|AG9QJQvGaQmVsEusSdND1lM9cKI=|Ue0a9suJIzN0yxoJgV7ClLBgSYw= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID3s6oYeTCz7KeYs0f/60/Ix0DhmK4hf1uHCC10TrXyR-H хеширует имена хостов и адреса. Этот параметр не даёт утёкшему файлу выдать, к каким серверам вы подключались; имя и адрес, соединённые запятой, разделились на две хешированные строки. Заодно появилось предупреждение, что файл .old ещё хранит содержимое без хеширования.
ssh-keygen -F server2.example.com -f ~/.ssh/known_hosts# Host server2.example.com found: line 1
|1|JL/knNlx/BnCoOWp5rNeRo3r1rE=|OCPyeFd1rgG8P2QGzrju/V2Y8c4= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID3s6oYeTCz7KeYs0f/60/Ix0DhmK4hf1uHCC10TrXyRДаже в хешированном файле -F нашёл строку по имени.
6️⃣ ssh-copy-id: регистрация открытого ключа и authorized_keys
Одного создания ключа мало: пока сервер не знает открытый ключ, вход по-прежнему идёт по паролю. Место, где сервер узнаёт открытый ключ, — ~/.ssh/authorized_keys учётной записи, под которой вы входите, а ssh-copy-id — команда, которая добавляет в этот файл строку из .pub. Закрытый ключ остаётся на вашем компьютере, и передаётся только строка открытого ключа. Нажимайте кнопки шагов на схеме ниже, чтобы увидеть, где оказываются оба файла.
ssh-copy-id -n -i ~/.ssh/deploy_key.pub -o ConnectTimeout=3 user@192.0.2.10/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/user/.ssh/deploy_key.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: ERROR: ssh: connect to host 192.0.2.10 port 22: Connection timed out-n — это dry-run, поэтому на сервер ничего не записывается. Тем не менее ssh-copy-id сначала пробует войти с этим ключом, чтобы отсеять уже зарегистрированные ключи, а так как 192.0.2.10 — адрес для документации, подключения не было, и всё закончилось на timed out. Параметры после -o передаются в ssh без изменений.
ssh-copy-id -n -f -i ~/.ssh/deploy_key.pub -o ConnectTimeout=3 user@192.0.2.10/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/user/.ssh/deploy_key.pub"
=-=-=-=-=-=-=-=
Would have added the following key(s):
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKKphFOc7oiKNpIHFTzK/ippCS5U5D+lF3xmXM6dmYjk deploy@example.com
=-=-=-=-=-=-=-=-f — принудительный режим, пропускающий эту проверку. Вместе с -n строка открытого ключа, которая попала бы на сервер, появилась под Would have added. Это та же строка, что и содержимое файла .pub.
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@192.0.2.10Настоящая регистрация выполняется этой командой без -n. По скрипту ssh-copy-id и руководству команда один раз спрашивает пароль учётной записи, добавляет открытый ключ в конец ~/.ssh/authorized_keys на сервере и затем выводит Number of key(s) added: 1. Если файла и папки нет, она их создаёт, а если такой же ключ уже есть, пропускает его.
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 user@192.0.2.10Если порт не 22, передайте его через -p.
Там, где нет ssh-copy-id, добавьте строку открытого ключа в authorized_keys на сервере сами. Войдите на сервер по паролю и выполните шаги ниже. Вывод проверен добавлением файла .pub на том же сервере; для другого сервера скопируйте строку из файла .pub и добавьте её через echo.
mkdir -p ~/.sshchmod 700 ~/.sshЕсли папки .ssh нет, создайте её и выставьте права 700.
cat ~/.ssh/deploy_key.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keyscat ~/.ssh/authorized_keysssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKKphFOc7oiKNpIHFTzK/ippCS5U5D+lF3xmXM6dmYjk deploy@example.comls -l ~/.ssh/authorized_keys-rw------- 1 user user 100 Oct 29 08:22 /home/user/.ssh/authorized_keysСтрока открытого ключа попала в authorized_keys с правами 600. В пункте StrictModes руководства sshd_config сказано, что с настройками по умолчанию sshd сначала проверяет права на файлы пользователя и отклоняет вход, если писать в них может кто угодно.
ssh -i ~/.ssh/id_ed25519 user@192.0.2.10После регистрации подключайтесь с закрытым ключом. Если у ключа имя по умолчанию, например id_ed25519, ssh найдёт его сам; если имя другое, например deploy_key, укажите файл через параметр ssh -i.
🔲 Симулятор команды ssh-keygen
В симуляторе ниже можно самому ввести ssh-keygen: создать ключи, проверить отпечатки, сменить парольную фразу, почистить known_hosts и попробовать ssh-copy-id. Отпечатки и открытые ключи — те же примерные значения, что в статье, а ssh-copy-id лишь изображает регистрацию на виртуальном сервере.
🔢 FAQ & рекомендуемые материалы
Windows · Открытый ключ
Как создать открытый ключ в Xshell
Шаги по созданию открытого ключа мастером ключей SSH-клиента Xshell для Windows и его регистрации на сервере.
SSH · Настройки сервера
Настройка SSH: функции и параметры файла sshd_config
Статья о настройке порта, входа root, аутентификации по открытому ключу и других пунктов в sshd_config на принимающем сервере.
Linux · Понятия
SSH в Linux: определение и базовая настройка
Что такое SSH и чем он отличается от Telnet, а также как запустить sshd на сервере и проверить базовые настройки.
ℹ️ О партнёрских ссылках
Материалы этого сайта содержат партнёрские ссылки. Если посетитель покупает товар или услугу по такой ссылке, сайт получает комиссию от продавца. При этом сумма, которую платит покупатель (при акционных скидках сумма снижается ↓), не увеличивается. Указанные цены, скидки и наличие актуальны на момент написания и могут отличаться, поэтому перед покупкой уточняйте их у продавца. Товары выбираются и оцениваются по нашим собственным критериям, а комиссия не влияет ни на порядок, ни на содержание обзоров.