Работая над проектом, постоянно сталкиваешься с необходимостью выполнять определенные команды в терминале. На локальном сервере этот вопрос решается достаточно просто - либо через встроенную консоль вашей операционной системы, либо с помощью IDE, к примеру, встроенного терминала в Visual Code.
Однако возникает ситуация, когда вы развернули свой проект на хостинге и необходимо воспользоваться серверной консолью непосредственно на внешнем сервере. В различных панелях управления аккаунтом хостинга/сервера такая возможность, как правило, имеется.
Но как быть, если мы хотим работать с удаленным сервером через терминал на своей локальной машине?
Давайте начнем с того, что вы заходите на хостинг и создаете SSH-ключ через терминал на сервере.
Вот пошаговая инструкция:
Создание SSH-ключа на хостинге
- Войдите на хостинг
Используйте панель управления вашего хостинга для доступа к терминалу. Обычно это можно сделать через раздел "SSH" или "Консоль" в панели управления.
- Откройте терминал сервера
Если у вас есть доступ к терминалу через веб-интерфейс, откройте этот терминал.
- Создайте SSH-ключ
В терминале выполните следующую команду для создания нового SSH-ключа:
ssh-keygen -t rsa -b 2048
Вам будет предложено указать имя файла для сохранения ключа. Нажмите Enter, чтобы сохранить ключ в стандартном месте (
~/.ssh/id_rsa
), или укажите другой путь, если необходимо.Вам также может быть предложено ввести пароль для защиты ключа (это необязательно, но рекомендуется для повышения безопасности). Если вы не хотите использовать пароль, просто нажмите Enter.
- Проверьте созданные ключи
После выполнения команды ключи будут созданы. Можно проверить это, выполнив команду:
ls ~/.ssh
Вы должны увидеть файлы
id_rsa
иid_rsa.pub
. - Добавьте публичный ключ в
authorized_keys
Откройте файл
authorized_keys
:nano ~/.ssh/authorized_keys
Скопируйте содержимое вашего публичного ключа, используя команду:
cat ~/.ssh/id_rsa.pub
Вставьте этот ключ в открытый файл
authorized_keys
(для вставки в редакторе Nano нажмите правую кнопку мыши или используйте Shift + Insert).Убедитесь, что ваш ключ находится в отдельной строке.
- Сохраните изменения
Если вы используете
nano
, нажмите Ctrl + X, затем Y, и затем Enter, чтобы сохранить изменения и выйти из редактора. - Установите правильные разрешения
Выполните следующие команды для установки необходимых прав доступа:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Подключение с локальной машины
Теперь вы готовы подключаться к серверу с локальной машины с использованием вашего нового SSH-ключа.
- Скопируйте приватный ключ на локальную машину
Вы можете использовать
SCP
, чтобы скопировать файлid_rsa
на вашу локальную машину. Например:scp имя_пользователя@адрес_сервера:~/.ssh/id_rsa /путь/к/вашему/локальному/каталогу/
Замените имя_пользователя и адрес_сервера на ваши данные.
- Установите разрешения для приватного ключа на локальной машине
chmod 600 /путь/к/вашему/локальному/каталогу/id_rsa
- Подключение к серверу
В терминале вашей локальной машины выполните:
ssh -i /путь/к/вашему/локальному/каталогу/id_rsa имя_пользователя@адрес_сервера
Теперь вы можете подключаться к вашему серверу с использованием SSH-ключа.
То есть, вводим соответствующие данные в терминал своей IDE (в данном случае VsCode) и подключаемся к внешнему серверу, где расположен наш аккаунт. И далее работа с терминалом в среде хостинг/внешнего сервера.
Вы можете использовать стандартный путь к вашему SSH-ключу ~/.ssh/id_rsa
с локальной машины. Ваш командный пример может выглядеть следующим образом:
ssh -i ~/.ssh/id_rsa имя_пользователя@адрес_сервера
При этом не забудьте, что файл ключа должен иметь правильные права доступа (обычно это chmod 600 ~/.ssh/id_rsa
). Также убедитесь, что ваш SSH-агент запущен и ваш ключ добавлен, если вы хотите избежать указания -i
каждый раз. Для этого можно использовать команду:
ssh-add ~/.ssh/id_rsa
Путь ~/.ssh/id_rsa
на локальной машине относится к файлу SSH-ключа, который расположен в директории .ssh
, находящейся в вашем домашнем каталоге. Вот как найти этот файл:
Домашний каталог:
Это каталог, который предоставляет ваша операционная система для хранения ваших личных файлов. Обычно это /home/ваше_имя_пользователя
на Linux и macOS, или C:\Users\ваше_имя_пользователя
на Windows (при использовании WSL или других оболочек).
Директория .ssh:
Внутри вашего домашнего каталога вы можете найти скрытую директорию с именем .ssh
. Чтобы видеть её, вам может понадобиться включить отображение скрытых файлов (обычно для этого нужно нажать Ctrl + H
в файловом менеджере на Linux, или использовать команду ls -a
в терминале).
Файл id_rsa:
Этот файл является вашим приватным SSH-ключом (его название может быть любым, в зависимости от того как назовёте). Если вы создали SSH-ключи с помощью команды ssh-keygen
, то по умолчанию они располагаются именно в этой директории .ssh
Таким образом, вы можете быстро настроить подключение к консоли вашего сервера через локальный терминал своей IDE (или консоли операционной системы) с помощью SSH-ключа для работы со своим проектом на внешнем сервере.