Надоело каждый раз искать логин и пароль от сервера?
Дано:
Вам нужно через терминал заходить на удалённые серверы. Хостинг дал логин, пароль и IP-адрес сервера. Каждый раз нужно искать и копировать их в консоль. Это неудобно, поэтому ниже инструкция, как перейти на ключи.
Порядок решения:
Создаём пару ключей у себя на компьютере. Открываем терминал, вводим команду ssh-keygen
и жмём Enter несколько раз.
После этого в скрытой папке ~/.ssh/
появляется два файла
id_rsa
— приватный ключ, его никуда никогда никому не показываем.
id_rsa.pub
— публичный ключ, его копируем в нужные сервисы.
Выводим публичный ключ на экран, чтобы можно было его скопировать.
cat ~/.ssh/id_rsa.pub
Этот ключ нужно вставить в профиль на Github или Gitlab, скопировать на удалённый сервер или указать при создании VDS на хостинге.
Копируем ключ на удалённый сервер командой ssh-copy-id
. Для выполнения нужно знать логин, IP-адрес или домен сервера. Например
ssh-copy-id login@example.org
ssh-copy-id root@10.10.0.121
При первом соединении нужно будет ввести yes
в подтверждение обмена ключами.
Для быстрого входа на сервер можно записать его реквизиты в текстовый файл ~/.ssh/config
Host myservername Hostname 10.24.24.24
Если для доступа нужен другой логин, нестандартный порт или админы выдали приватный ключ для подключения, то указываем это в том же конфиге
Host myservername Hostname 10.24.24.24 User root Port 22 IdentityFile ~/.ssh/id_rsa
Проверяем:
Подключаемся к удалённому серверу одной командой ssh myservername
. Если в конфиге один пользователь, а нужно зайти под другим — используем ssh sensei@myservername
.
Итог:
Вы мгновенно попадаете на сервер, используя выбранное вами название. Экономия времени на поиске адреса и пароля.