Анонимность в интернете своими руками. Настройка SSH (вход по сертификату)

Все настройки выполнены в VPS от hostsailor.com

Управлять нашим сервером мы будем через SSH-консоль. Да, есть множество решений графического интерфейса для управления linux-серверами, но это не наш путь. Во-первых, наш VPS очень базового уровня и его ресурсов если и хватит для работы графического интерфейса, то впритык. Во-вторых, практически для любого графического интерфейса потребуется Web-сервер и дополнительные открытые порты, что резко увеличивает уязвимость нашего сервера для атак злоумышленников. Ну и в-третьих, нам его один раз настроить и забыть.

Нам потребуется сам SSH-клиент, а также утилиты для генерации ключей. Качаем и распаковываем архив https://the.earth.li/~sgtatham/putty/latest/w32/putty.zip

Из архива нужны будут сам клиент putty.exe и утилита генерации ключей puttygen.exe. Также можно скачать их по-отдельности на этой странице:

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.ht…

Еще нам понадобиться WinSCP. Очень удобная штука, особенно для тех, кто не любит работать в консоли. Качаем здесь:

https://winscp.net/download/files/201705310908cd3ce105c1c1ca… и распаковываем архив. Для запуска используем WinSCP.exe

Теперь все готово. Начинаем настраивать.

Для начала подключимся по SSH по паролю и убедимся, что наш сервер работает. Для этого запускаем putty.exe

в поле Host Name вписываем полученный по почте IP-адрес и жмем кнопку Open (если появится окно PuTTY Security, жмем «Да») и вводим логин (root) и пароль из письма.

Маленький лайфхак: сейчас вам придётся в консоль вводить длинный и не удобный пароль, а в дальнейшем длинные и неудобные команды. Можно сократить ручной труд и просто копировать вставлять. Копировать как обычно, а для вставки переводим курсор на черное окно putty и жмем правую кнопку мыши. Всё. То, что копировали, будет вставлено. И пароль тоже вставиться. Этого будет не видно, но ничего страшно, после нажатия правой кнопки мыши сразу нажмите Enter. При копировании будьте аккуратны, выделяя текст для копирования не зацепите лишние пробелы.

login as: root
[email protected]'s password: 
[root@vps12345~]#

Чтобы завершить ввод команды, нужно набрать Enter. Например, добавим нужный репозиторий и обновим наш сервер. Вводим (или копируем отсюда) следующую команду и жмем Enter.

yum install epel-release -y
Результат будет выглядеть примерно так:

Теперь обновим сервер:

yum update –y

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

Настраиваем параметры:

File protocol: SFTP

Host name: IP-адрес из письма

User name: root

Password: оставляем пустым

 Жмём “Save”, в появившемся окне «ОК». Теперь слева, в списке, появилась запись вида root@[IP-адрес]. Дважды кликнем по ней. Появится окно с предупреждением, жмём Yes. Вводим пароль и WinSCP подключается. Теперь мы видим две панели: слева файловую систему своего компьютера (диск С), а справа файловую систему VPS (обычно бывает открыта папка /root). Обратите внимание: в правой понели сверху списка папок всегда будет символ папки со стрелочкой и двумя точками. Если его два раза кликнуть (или стрелками переместить на него курсор и нажать Enter) вы перейдёте на уровень вверх. Например, сейчас сможете попасть в корень файловой структуры и сервера. Выглядит это так:

Свернём пока WinSCP и запустим puttygen.exe.

Сейчас мы создадим сертификаты для SSH-подключения. Ранее мы подключились по простому паролю. Использование пароля не безопасно: его можно перехватить или подобрать. Поэтому сделаем ключи и настроим наш сервер на подключение только с этими ключами.

Проверяем, что выбран тип ключа RSA, количество бит не менее 2048

И жмём кнопку “Generate”. Теперь на время освоим роль биологического генератора случайных чисел: двигаем хаотично мышкой и(или) жмем хаотично кнопки на клавиатуре (желательно кнопки с буквами и цифрами, остальные не трогаем). Как только зелёная полоска доползет, закрытый ключ готов. Придумываем для его защиты хороший пароль (Не менее 10 символов, латинские маленькие и большие буквы, хотя бы один спец-символ !@#$%^&*()<>,.:;”’). Пароль забывать нельзя, его никак не восстановить! Вводим этот пароль два раза:

Жмем “Save public key” и сохраняем публичный ключ (даём ему имя public.pub и не забываем куда сохранили. Я создал папку test на диске С:, дальше буду использовать её). Жмём “Save private key” и сохраняем приватный ключ (даём ему имя private и сохраняем рядом с публичным). У нас должно получиться два файла: private.ppk и public.pub

Рuttygen можно закрывать, он нам больше не понадобиться. Возвращаемся к WinSCP. Слева находим папку с двумя указанными выше файликами, а права открываем папку /tmp. Слева «становимся» на файл public.pub, нажимаем F5 (одна из ненужных кнопок в самом верхнем ряду клавиатуры) и ОК. Наш файлик копируется на сервер. Получится вот так:

Возвращаемся к консоли PuTTY. Вводим команду:

ssh-keygen -i -f /tmp/public.pub >> /root/.ssh/authorized_keys

Если команда возвращает ошибку, то Вы должны создать .ssh каталог и authorized_keys файл в первый раз.

Для этого выполните последовательно команды:

mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

А затем уже

ssh-keygen -i -f /tmp/public.pub >> /root/.ssh/authorized_keys

Всё, наш сервер готов принимать подключения по сертификату. Закрываем (совсем, крестиком) окно PuTTY и снова запускаем putty.exe. Создадим профиль для нашего сервера. Опять в поле “Host Name” вписываем IP-адрес сервера. Справа, в списке находим пункт Connection -> Data и в поле “Auto-login username” вписываем root.  Справа в списке находим пункт Connection -> SSH -> Auth находим поле “Private key file for authentication:” и жмём кнопу “Browse …”. Указываем путь на приватный ключ (в моём случае C:\test\private.ppk)

Слева в списке выбираем пункт Session, в поле “Saved Session” вписываем любое имя профиля (например, my_vpn) и жмем “Save”.

Ниже в списке появится строчка с этим именем. Щелкнем её двойным кликом. Появится консоль и попросит ввести пароль от приватного ключа (вы ведь его не забыли):

Вводим его, жмём Enter. Если все сделали правильно, мы авторизуемся. Отлично. Теперь настроим WinSCP. Закроем его окно (крестиком) и вновь запустим wincsp.exe. У нас есть уже сохраненный профиль, просто отредактируем его. Выберем профиль («встать» на него в списке слева) и нажмём кнопку Edit, а затем кнопку Advanced… В появившемся окне слева, в списке, выбираем пункт SSH -> Authentication. Возле поля “Private key file” жмем кнопку с тремя точками и указываем путь на файл приватного ключа (также, как мы это делали для putty).

Жмём ОК и в первоначальном окне жмём кнопку Save. Теперь двойным кликом по названию профиля подключаемся, вводим пароль от приватного ключа.

Теперь запретим нашему серверу принимать подключения по простому паролю. В правой панели WinCSP открываем папку /etc/ssh/ и находим файл sshd_config

Двойным кликом открываем его. Находим строчку, в которой написано

PasswordAuthentication yes

Именно так, без символа #, и меняем yes на no. Получится:

PasswordAuthentication no

Нажимает сверху символ дискеты и закрываем окно редактирования файла. Если кто-то никогда не видел дискет, то просто закрываем окно редактирования файла и нажимаем Yes в окне с предупреждением. Закрываем окно WinSCP. В консоли PuTTY вводим команду

reboot

и закрываем окно. Сервер перезагружается. Обычно это занимает от 10 до 60 секунд. По истечении это времени снова запускаем putty.exe и wincsp.exe и подключаемся к серверу и подключаемся к серверу в каждом из них.

Вы можите оставить комментарий, или поставить трэкбек со своего сайта.

Написать комментарий

XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>