Тут смотрим как арендовать и настроить комфортную работу со своим VPS
Основы работы с VPS / Настройка подключения к VPS
VPS – это виртуальный личный сервер который дает почти неограниченный возможности по настройке сервера. Удовольствие это не совсем бесплатное, а стоит в среднем 100-250 руб. в месяц. Зато позволит максимально прочувствовать как оно реально в жизни работает.
Покупаем и создаем VPS
Я предлагаю использовать jino.ru, потому что у них удобный сервис, вполне себе стабильная работа ну и очень дешевые расценки на VPS. Плюс можно авторизоваться через ВК, что я собственно и делаю. В общем регистрируйтесь.
И так, идем по следующей ссылке https://cp.jino.ru/vps/ и тыкаем вот сюда
далее меняем тип сервера и выбираем самый дешевый тариф
выбираем себе убунту
вводим имя, тыкаем создать
и ждем
как сервер будет создан надпись “Создается” сменится на зелененькую точечку и можно тыкать на плашку
тыкнув на нее попадем на страницу со статистикой сервера, внизу есть плашка “Показать консоль”
Если ее тыкнуть, то откроется консолька. Это прям реальная консоль сервера и в ней вполне можно сидеть и работать как из дома так и из политеха, не переживая, что у вас там не будет каких-то доступов.
Но – это, естественно, не канонично, поэтому я буду показывать, как подключится к серверу напрямую с винды и с линукса
Подключаемся к серверу
На Windows
Для того чтобы подключится с серверу с windows нам понадобится SSH клиент. Я привык использовать SmarTTY, так что буду показывать, как работать с ним. В общем идем сюда https://sysprogs.com/SmarTTY/ и качаем либо установочник, либо портабельную версию. Тут как вам удобнее.
Запускаем программку и видим что-то такое
тыкаем внизу New SSH connection
, откроется новое окошко
тут надо ввести адрес сервера, имя юезра для коннекта и пароль. Идем обратно в админку сервера и идем в настройки доступа
видим тут данные для коннекта
пароля тут не видно, его надо будет сгенерить, так что тыкнете на «Установить» справа от пароля, а далее на кнопочку ключика и подберите там себе пароль:
не забудьте его скопировать (так как вы не сможете его посмотреть позже) и тыкайте установить
теперь загоняем данные в smartty
выскочит окошко в котором тыкаем Save
далее тыкаем вот так
Ура! Мы теперь там же где и консолька в админке! =)
На Linux
Так как в линуксе ssh клиент интегрирован прямо в систему, то вы просто пишите
ssh root@ovz2.mkatash.m29on.vps.myjino.ru -p 49651
и тыкаете Enter, далее выскочит подтверждение на желание подключится, пишите yes, далее попросят пароль который просто копипастите из админки. Выглядит примерно так:
то есть консоль вашего линукса плавно превратилась в консоль удалённого сервера =)
Настраиваем ssh-ключ
Авторизация через пароль считается не безопасной, да и к тому же его приходится еще и вводить по несколько раз. Поэтому намного удобнее создать ssh ключик, примерно, как мы делали на курсе по Операционным системам и использовать его.
На Windows
Помните я написал вам снять галочку в учебных целях. Эта галка как раз нужна, чтобы создать этот самый ssh ключ автоматически. Но иногда полезно уметь создать свой собственный ключи либо подключить какой-нибудь сторонний. Так что посмотрим, как это делается.
Идем в папку юзера %USERPROFILE%
, создаем (если еще нет) и открываем папку .ssh
(обязательно с точкой в начале). У меня это как-то так выглядит
теперь надо создать ssh-ключ. Для этого открываем консоль в этой папке. Пишем cmd
в адресной строке, тыкаем enter
и запускаем команду
ssh-keygen -t ed25519
далее вводим название ключа, и на остальные вопросы тыкаем Enter
в папке появится два файлика
тот что с pub на конце – это публичный ключ, его надо будет разместить на сервере, а тот что просто test_server – это приватный ключ, он должен лежать у нас на компе
теперь надо pub ключик перенести на сервер. Идем в smartty, снова заходим на наш сервер (надо будет ввести пароль, если забыли – просто установите новый).
По умолчанию мы в папке root пользователя, в которой почти ничего нет
в этой папке надо создать папку .ssh и установить ей права видимости 700
то есть, чтобы доступ к ней имел только пользователь root.
Далее надо создать файлик authorized_keys в этой папке
открыть этот файлик и загнать в него содержимое pub файлика. Так как nano еще не установлен, то при попытке открыть файл на редактирование получите ошибку
ставим nano
но и тут нас ждет ошибка
потому что кэш доступных приложений еще ни разу не обновлялся. Так что запускаем
apt update
а затем уже
apt install nano -y
после того как все установится открываем файлик authorized_keys и загоняем в него строчку из pub файла (при появлении дополнительных ключей, их надо будет добавлять в этот же файлик по одной строчке на ключ)
сохраняемся, выходим из файлика и закрываем соединение
Снова запускаем smartty, и идем в настройки соединения
там снимаем галочку с password, выбираем OpenSSH, прописываем путь к нашему ключу (который без pub) и тыкаем save
пробуем коннектится. Если все ок, то подключение пройдет без всяких лишних вопросов:
красота! =)
На Linux
Заходим в папку .ssh (если папки нет, то создать ее) и создаем ключик
в папке появятся файлики
тот что с pub на конце – это публичный ключ, его надо будет разместить на сервере, а тот что просто test_server – это приватный ключ, он должен лежать у нас на компе
теперь надо pub ключик перенести на сервер. Для этого пишем команду
ssh-copy-id -p 49651 -i ~/.ssh/test_server root@ovz2.mkatash.m29on.vps.myjino.ru
нас попросят пароль, который копипастим (если забыли – просто установите новый и используйте его)
теперь попробуем приконнектится
ssh root@ovz2.mkatash.m29on.vps.myjino.ru -p 49651
но он почему-то все равно попросит пароль. Дело в том, что он не понимает какой ключ ему использовать для подключения. Первый способ подключится это указать ключ явно:
ssh root@ovz2.mkatash.m29on.vps.myjino.ru -p 49651 -i ~/.ssh/test_server
но это не очень удобно. Поэтому лучше создать настройку в ~/.ssh/config
. Создаем файл
у него обязательно должны быть разрешения 644
, то есть read/write для владельца, read для всех остальных.
Открываем его через nano
nano ~/.ssh/config
и добавляем строчки
Host ovz2.mkatash.m29on.vps.myjino.ru
IdentityFile /home/mick/.ssh/test_server
Port 49651
сохраняемся и можем теперь коннектится вот так
ssh root@ovz2.mkatash.m29on.vps.myjino.ru
то есть ни ключ, ни даже порт указывать не надо. Ура-ура! =)