Skip to main content

SSH-доступ к серверу Timeweb Cloud по ключу

Эта инструкция описывает, как создать SSH-ключ на локальном компьютере, добавить публичный ключ в Timeweb Cloud и проверить подключение к серверу без использования пароля.

Важно: во всех примерах ниже используется тестовый IP-адрес 203.0.113.10.
Это адрес только для примера. Перед выполнением команд замените 203.0.113.10 на реальный IP-адрес вашего сервера в Timeweb Cloud.

После настройки команда:

ssh root@203.0.113.10

должна подключать к серверу с использованием локального SSH-ключа.

Никогда не передавайте приватный SSH-ключ другим людям или сервисам.
В Timeweb Cloud добавляется только публичная часть ключа.


1. Проверить, есть ли SSH-ключ на компьютере

Windows

Откройте PowerShell и выполните:

Get-ChildItem ~/.ssh

Если среди файлов есть, например:

id_ed25519
id_ed25519.pub

значит SSH-ключ уже создан.

Файл:

id_ed25519

— это приватный ключ.

Его нельзя передавать другим людям, агентам, сайтам или сервисам.

Файл:

id_ed25519.pub

— это публичный ключ.

Именно его можно добавлять в Timeweb Cloud.

Если таких файлов нет — создайте новый ключ.


2. Создать SSH-ключ

В PowerShell выполните:

ssh-keygen -t ed25519 -C "timeweb"

Появится запрос:

Enter file in which to save the key

Если отдельный путь не нужен, просто нажмите:

Enter

В Windows ключ обычно будет сохранён в:

C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\.ssh\id_ed25519

После этого появится запрос:

Enter passphrase

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

Если пароль не нужен, дважды нажмите Enter.

После создания появятся два файла:

id_ed25519
id_ed25519.pub

3. Скопировать публичный SSH-ключ

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

Get-Content ~/.ssh/id_ed25519.pub

Вы увидите строку примерно такого вида:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI.................... timeweb

Нужно скопировать всю строку целиком.

Удобнее сразу скопировать ключ в буфер обмена:

Get-Content ~/.ssh/id_ed25519.pub | Set-Clipboard

Теперь публичный ключ можно вставить в Timeweb Cloud.


4. Добавить SSH-ключ в Timeweb Cloud

Откройте:

Timeweb Cloud → SSH-ключи

Нажмите:

Добавить ключ

В поле Ключ вставьте содержимое файла:

id_ed25519.pub

Например:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI.................... timeweb

В поле Название ключа укажите понятное название компьютера.

Например:

Work-PC

или:

Office-PC

или:

Windows-PC-2026

После этого нажмите:

Добавить.

Важно: не вставляйте в Timeweb содержимое файла id_ed25519.
Это приватный ключ.

Добавлять необходимо только файл с расширением .pub.


5. Добавить ключ на сервер

Есть два основных варианта.

Вариант 1. Создаётся новый сервер

Если сервер только создаётся, выберите созданный SSH-ключ при настройке сервера в Timeweb Cloud.

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

После создания сервера можно проверить подключение:

ssh root@203.0.113.10

Замените 203.0.113.10 на реальный IP-адрес созданного сервера.


Вариант 2. Сервер уже существует

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

Публичный ключ должен присутствовать непосредственно на сервере в файле:

/root/.ssh/authorized_keys

Сначала подключитесь к серверу по существующему паролю:

ssh root@203.0.113.10

Вместо 203.0.113.10 укажите реальный IP вашего сервера.

После входа выполните:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys

Вставьте в файл ваш публичный ключ:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI.................... timeweb

Сохраните файл.

Для редактора nano:

Ctrl + O
Enter
Ctrl + X

Затем выполните:

chmod 600 ~/.ssh/authorized_keys

6. Проверить подключение по SSH

На локальном компьютере откройте PowerShell и выполните:

ssh root@203.0.113.10

Не забудьте заменить 203.0.113.10 на реальный IP-адрес сервера Timeweb Cloud.

При первом подключении может появиться сообщение:

Are you sure you want to continue connecting (yes/no/[fingerprint])?

Введите:

yes

Если всё настроено правильно, откроется консоль сервера.

Например:

root@server:~#

Это означает, что SSH-доступ работает.


7. Если SSH не использует нужный ключ

Можно явно указать путь к приватному ключу:

ssh -i ~/.ssh/id_ed25519 root@203.0.113.10

Где:

203.0.113.10

необходимо заменить на реальный IP вашего сервера.

Для диагностики подключения можно использовать подробный режим:

ssh -v root@203.0.113.10

В выводе можно искать строки:

Offering public key

и:

Server accepts key

Они указывают на то, что SSH-клиент предлагает ключ серверу и сервер его принимает.


8. Проверить сервер перед передачей задачи AI-агенту

Перед тем как поручать агенту установку или настройку программ на сервере, самостоятельно убедитесь, что SSH-доступ работает.

Выполните:

ssh root@203.0.113.10

Вместо 203.0.113.10 подставьте реальный IP сервера.

После подключения полезно проверить, что уже работает на сервере.

Проверить Docker-контейнеры

docker ps

Если Docker не установлен, команда может вернуть ошибку — это нормально.

Проверить занятые сетевые порты

ss -tulpn

Особенно важно проверить порты:

80
443

Порт 80 обычно используется для HTTP.

Порт 443 обычно используется для HTTPS.

Важно: если на сервере уже работает сайт, Nginx, Apache, Docker, reverse proxy, VPN или другой сервис, обязательно сообщите об этом агенту.

Нельзя считать сервер «чистым» и без проверки изменять или удалять существующие сервисы, особенно использующие порты 80 и 443.


Быстрая памятка

Создать SSH-ключ

ssh-keygen -t ed25519 -C "timeweb"

Скопировать публичный ключ

Get-Content ~/.ssh/id_ed25519.pub | Set-Clipboard

Добавить ключ

Открыть:

Timeweb Cloud → SSH-ключи → Добавить ключ

и вставить содержимое:

id_ed25519.pub

Проверить подключение

ssh root@203.0.113.10

Перед выполнением заменить:

203.0.113.10

на:

РЕАЛЬНЫЙ_IP_СЕРВЕРА

Например, если Timeweb показывает IP:

192.0.2.25

то команда будет выглядеть так:

ssh root@192.0.2.25

Явно указать SSH-ключ

ssh -i ~/.ssh/id_ed25519 root@203.0.113.10

Здесь также необходимо заменить IP на реальный.


Что можно и нельзя передавать

✅ Можно передавать

Публичный ключ:

~/.ssh/id_ed25519.pub

Он выглядит примерно так:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI.................... timeweb

❌ Нельзя передавать

Приватный ключ:

~/.ssh/id_ed25519

Приватный ключ должен оставаться только на вашем компьютере.

Простое правило:
файл с .pub — публичный, его можно передавать.
файл без .pub — приватный, его передавать нельзя.