> For the complete documentation index, see [llms.txt](https://spacecore.gitbook.io/wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://spacecore.gitbook.io/wiki/ua/os-and-software/connecting-via-ssh-keys.md).

# Підключення за допомогою SSH ключів

Ви турбуєтеся про безпеку свого сервера? Вам потрібно активувати метод авторизації через SSH ключ, і ось як це зробити!

## Встановлення на Windows

Запустіть додаток PuTTYgen, або завантажте портативну версію для вашої системи за одним із посилань:

{% hint style="info" %}
**32-bit** версія: [download](https://mirror.spacecore.info/uploads/puttygen\(32bit\).exe)

**64-bit** версія: [download](https://mirror.spacecore.info/uploads/puttygen\(64bit\).exe)
{% endhint %}

При запуску у вас відкриється це вікно:

<figure><img src="/files/CN6eVZcSRPg7tvLPhKjF" alt=""><figcaption></figcaption></figure>

Натисніть кнопку Generate та деякий час водіть мишкою у випадкових місцях, це необхідно для унікальної генерації ключа.&#x20;

Після цього ви побачите такі дані:

<figure><img src="/files/jeDmPpt5b8WRb1nTj4Wv" alt=""><figcaption></figcaption></figure>

Поле Public key for pasting into OpenSSH authorized\_keys file містить підготовлений текст, який нам потрібно буде використати пізніше.&#x20;

За бажанням, у полі Key passphrase ви можете вказати додатковий код для вашого ключа, який потрібно буде вводити при кожному підключенні до сервера (ми вкажемо слово spacecore). Потім натисніть кнопку Save public key, щоб зберегти публічний ключ, зазначений вище. Також натисніть кнопку Save private key, щоб зберегти файл приватного ключа, який нам потрібен для підключення до сервера.

{% hint style="warning" %}
Назва файлів ключів може бути будь-якою, це не впливає на функціональність.
{% endhint %}

Ми зберегли та отримали 2 файли:

<figure><img src="/files/Kpb0Zcqy0AGaOAGjHaEf" alt=""><figcaption></figcaption></figure>

## Способи встановлення SSH ключа на сервері:

### **Використання утиліти nano**

Після підключення до сервера використовуйте команду:

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

Ми увійшли в панель редагування файлу authorized\_keys, який відповідає за налаштування SSH ключів.

<figure><img src="/files/ePMepv0wDFA0ernb7wCa" alt=""><figcaption></figcaption></figure>

На даний момент файл порожній, нам потрібно повністю скопіювати весь текст із вікна PuTTYgen:

<figure><img src="/files/suHa0YBeNM4isumaAgQZ" alt=""><figcaption></figcaption></figure>

Потім вставити його у файл за допомогою ПКМ (правої кнопки миші).

<figure><img src="/files/FrBB2j5JQmV3V4FCc2bw" alt=""><figcaption></figcaption></figure>

Натисніть комбінацію клавіш Ctrl + X

<figure><img src="/files/gRTso9sKbmXCWrDD8GCy" alt=""><figcaption></figcaption></figure>

Підтвердіть збереження файлу, ввівши літеру Y.

SSH ключ успішно прив'язаний до нашого сервера.

### **Передача даних через sFTP**

Підключіться до нашого сервера та побачте на головній сторінці список файлів, перейдіть до директорії .ssh

Тут ми бачимо файл authorized\_keys, на даний момент він порожній, його розмір становить 0 байт.

Натисніть ПКМ і відкрийте файл.

Вставте той самий публічний ключ із PuTTYgen.

<figure><img src="/files/HaK4NM1LTHsHPWxIeNtZ" alt=""><figcaption></figcaption></figure>

Збережіть зміни та відправте файл на сервер.

Готово, SSH ключ встановлено!

## Підключення через SSH ключ

Коли ми відкриваємо програму PuTTY, з'являється стандартний інтерфейс, нам потрібно ввести IP-адресу сервера.

<figure><img src="/files/xHtYBtXy81BfFQfBn8f1" alt=""><figcaption></figcaption></figure>

У лівому меню відкрийте вкладку SSH та перейдіть до Auth.

<figure><img src="/files/VgZwkXiVqBDyWQoOK8Om" alt=""><figcaption></figcaption></figure>

Тут нам потрібно вибрати розташування файлу приватного ключа (зверніть увагу, не публічного!) з розширенням .ppk

<figure><img src="/files/SWFZU6H2r9oWowWTlgCj" alt=""><figcaption></figcaption></figure>

Після додавання ключа натисніть кнопку Open. З'явиться стандартний інтерфейс для входу, заповніть його.

<figure><img src="/files/eb5luOmMYfyNA4SbE04m" alt=""><figcaption></figcaption></figure>

Після введення імені користувача введіть Passphrase-код (при генерації ключа ми вказали spacecore), введіть його.

<figure><img src="/files/UvlBLfgorwob0cpXv8Be" alt=""><figcaption></figcaption></figure>

Вітаємо, автентифікація за SSH ключем пройшла успішно!

## Як зберегти дані сервера для швидкого входу?

Вам потрібно ввести IP-адресу сервера та прив'язати ваш приватний SSH ключ. Потім вкажіть ім'я сесії, щоб зберегти її.

Сесія збережена.

***

Ви також можете вказати ім'я користувача перед IP-адресою для прискорення процесу входу, ось так:

{% hint style="warning" %}
**username\@IP-address**
{% endhint %}

<figure><img src="/files/U9EXVnldYQhQYDwF6CrC" alt=""><figcaption></figcaption></figure>

Збережіть. Тепер, подвійним кліком по збереженій сесії відкриється вікно, в якому потрібно буде ввести код приватного ключа (тільки якщо ви його зазначили. За відсутності коду, підключення буде миттєвим без введення додаткових даних).

<figure><img src="/files/jbGZ7a0syMXdW6p7BfU1" alt=""><figcaption></figcaption></figure>

Введіть його. Все, ми підключені!

<figure><img src="/files/pCWAZYsZmlHlqa2WFNEd" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://spacecore.gitbook.io/wiki/ua/os-and-software/connecting-via-ssh-keys.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
