# Добавление SSH-ключей и управление ими

Source: https://support.kapsulehost.com/ru-ru/cloud-servers-ssh-keys

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

## Как работают SSH-ключи

SSH-ключ состоит из двух половин:

- **Закрытый ключ** остаётся на вашем компьютере. Никогда никуда его не вставляйте и никому не передавайте.
- **Открытый ключ** это половина, которую вы передаёте серверам. Ею можно делиться без опасений.

При подключении ваш компьютер доказывает, что у него есть закрытый ключ, соответствующий открытому ключу на сервере. Пароль не передаётся.

## Создание ключа

Создавайте ключ на своём компьютере, а не на сервере. В macOS, Linux или Windows (в PowerShell или Windows Terminal) выполните:

```
ssh-keygen -t ed25519 -C "you@example.com"
```

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

- `~/.ssh/id_ed25519` это ваш закрытый ключ.
- `~/.ssh/id_ed25519.pub` это ваш открытый ключ.

Чтобы увидеть открытый ключ, выполните:

```
cat ~/.ssh/id_ed25519.pub
```

Скопируйте всю строку, начиная с `ssh-ed25519`.

> **Warning:** Копируйте только файл, имя которого заканчивается на `.pub`. Другой файл это ваш закрытый ключ, и любой, у кого он есть, может войти на каждый сервер, который ему доверяет. Если вы случайно передали его, создайте новый ключ и замените им старый везде.

## SSH-ключи вашей учётной записи

SSH-ключи принадлежат вашей учётной записи, а не одному серверу. Каждый новый сервер заказывается с ключом, и при запуске именно так вы входите в систему. Добавляйте ключи на странице **SSH-ключи** на боковой панели, рядом с разделами серверов. Страница работает, даже когда у вас ещё нет серверов, поэтому можно сначала добавить ключ, а затем сделать заказ. Тот же список есть на вкладке **SSH-ключи** каждого сервера.

Чтобы добавить ключ:

1. На боковой панели нажмите **SSH-ключи** или откройте любой сервер и нажмите **SSH-ключи** в его меню.
2. Нажмите **Add SSH Key**.
3. Введите **Имя**, например "Мой ноутбук", и вставьте всю строку из файла `.pub` в поле **Public key**.
4. Нажмите **Добавить ключ**. KPanel сообщит, что ключ добавлен.

![Вкладка SSH-ключей сервера в KPanel](https://support.kapsulehost.com/help/screenshots/cloud-servers-ssh-keys.2f07b4bd.webp)

Рекомендуются ключи Ed25519. Ключи RSA должны быть длиной не менее 3072 бит, ключи ECDSA тоже подходят. В учётной записи можно хранить до 50 ключей, и один и тот же ключ нельзя добавить дважды.

Чтобы переименовать ключ, нажмите значок карандаша рядом с ним. Чтобы удалить ключ, нажмите значок корзины, а затем **Delete Key**. Нажмите **Отпечаток** ключа, чтобы скопировать его.

> **Warning:** Добавление ключа здесь не устанавливает его на уже существующие серверы. Он предлагается для серверов, которые вы закажете после его добавления. Удаление ключа здесь тоже не убирает его с серверов: удалите его и на каждом сервере, как показано ниже.

## Добавление ключа на новый сервер

На шаге заказа **SSH Key and Name** отметьте каждый ключ, с которым можно входить как root. Можно выбрать несколько, до 20 на один заказ. Чтобы добавить там новый ключ, нажмите **Add an SSH Key**, введите **Key Name**, вставьте **Public Key** и нажмите **Добавить ключ**. Ключ сохраняется в учётной записи и сразу отмечается. На серверы Windows вход выполняется по паролю, поэтому SSH-ключи для них не используются.

Если позже вы переустановите сервер, отмеченные здесь ключи будут возвращены. Ключи, добавленные после заказа, не возвращаются.

## Добавление ключа на доступный вам сервер

Если вы уже можете войти на сервер, добавьте ещё один открытый ключ, дописав его в файл `authorized_keys` пользователя, под которым вы входите. Для пользователя root:

```
echo "ssh-ed25519 AAAA... you@example.com" >> /root/.ssh/authorized_keys
```

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

## Удаление ключа

Чтобы ключ перестал работать, войдите на сервер и удалите его строку из `authorized_keys`:

```
nano /root/.ssh/authorized_keys
```

Удалите строку этого ключа, сохраните файл и закройте редактор. Делайте это, если потерян ноутбук, кто-то покинул вашу команду или вы заменяете ключ.

KapsuleHost хранит на каждом сервере, который мы создаём, ключ управления (с именем kapsulehost-management) для резервного копирования, мониторинга и обновлений безопасности. Если удалить его, эти функции перестанут работать.

> **Note:** Ключи, которые вы сами добавляете внутри сервера, хранятся на его диске, поэтому [переустановка](https://support.kapsulehost.com/ru-ru/cloud-servers-rebuild) их стирает.

## Ключи для сайтов

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

## Похожие статьи

- [Подключение к серверу по SSH](https://support.kapsulehost.com/ru-ru/cloud-servers-ssh-connect)
- [Создание сервера](https://support.kapsulehost.com/ru-ru/cloud-servers-create)
- [Режим восстановления](https://support.kapsulehost.com/ru-ru/cloud-servers-rescue)
- [Переустановка сервера](https://support.kapsulehost.com/ru-ru/cloud-servers-rebuild)
