Записки IT-санитара... https://blog.antsev.com Про компьютеры, авто и так далее ru 7391CC2B1408947EFD5084459F5BD0CA https://blog.antsev.com/linux/rapoo-mt750s-ubuntu/ <![CDATA[Rapoo MT750S + Ubuntu]]>
rapoo

Rapoo MT750S + Ubuntu

Linux Internet Windows Авто

Хорошая мышка, вот только производитель мышей недолюбливает красноглазых: на мак и винду есть софтина.

Ну да и ладно, конфиг нам в руки.

Логика проста: подключаем мышку по радиоканалу или bluetooth, отслеживаем коды кнопок, на эти кнопки накидываем команды.

Теперь по шагам, ставим саму софтину:

sudo apt install xbindkeys xautomation x11-utils

Узнаём коды кнопок:

xev | grep button

Наводим мышку на квадрат, нажимаем интересующие нас кнопки.

В данном скрине «button 1» и «button 2» это левая и правая кнопка мыши.

Следующим шагом надо создать конфиг для xbindkeys под правами пользователя:

xbindkeys --defaults > $HOME/.xbindkeysrc

Теперь в корневой директории пользователя создан файл .xbindkeysrc

Пример внутри него можно удалить.

В моём случае для маленьких кнопок у левой кнопки мышки сделаны команды на копировать и вставить. Для бокового скролла управление громкостью. Нажатие на верхний скролл выключает и включает звуки

Конфиг .xbindkeysrc у меня получился такой:

# Copy
"xte 'keydown Control_L' 'key c' 'keyup Control_L'"
b:9

# Paste
"xte 'keydown Control_L' 'key v' 'keyup Control_L'"
b:8

# Sound Lower
"amixer -c0 set Master 2%-"
m:0x0 + b:6

# Sound Louder
"amixer -c0 set Master 2%+"
m:0x0 + b:7

"amixer set Master toggle"
m:0x0 + b:2

Работает нормально с динамиками ноута и наушниками, если подключить по bluetooth саундбар, то регулировка громкости перестаёт работать.

Логично, ведь в конфиге указано что работать с первой звуковой картой «-c0».

Если не указывать аудиокарту, то начинает прыгать баланс право-лево с изменением громкости.

Пока решения не нашёл…

Каждый раз, как меняется конфиг, надо перезапускать службу:

killall -HUP xbindkeys
xbindkeys
]]>
https://blog.antsev.com/windows/stop-update-windows-10-and-11/ <![CDATA[Отключение обновления Windows 10 и 11]]>

Отключение обновления Windows 10 и 11

Linux Internet Windows Авто

Бывают разные ситуации, когда внезапная перезагрузка, хуже незваных пьяных гостей.

В результате автоматических обновлений поймать принудительную перезагрузку достаточно легко.

Перепробовал несколько способов, самый действенный — через групповую политику.

На кнопке «пуск» правой кнопкой мыши или сочетанием клавиатуры win+к вызываем окно «выполнить»

Конфигурация компьютера\Административные шаблоны\Компоненты Windows

Центр обновления Windows

Находим «Настройка автоматического обновления»

Запускаем туда свои шаловливые ручёнки и выключаем

Теперь пока сам не запустишь обновление, автоматически процедура не выполнится.

]]>
https://blog.antsev.com/internet/hetzner-payment/ <![CDATA[Как оплатить Hetzner из России]]>
Hetzner Online

Как оплатить Hetzner из России

Linux Internet Windows Авто

Оплата серверов в Hetzner из РФ в 2023 году стала затруднительна, но не невозможна.

Ниже будет пример, когда аккаунт оформлен на физ. лицо РФ и на него же аккаунт в Hetzner.

Распечатываем все .pdf инвойсов из личного кабинета Hetzner за этот год.

Заходим в личный кабинет и узнаём свой ID плательщика (отмечено стрелкой, начинается на К************), заодно удобно забираем реквизиты.

Теперь едем в основной офис банка Газпром.

Регистрируемся там как клиент, заводим счёт, карту и евро-счёт.

Не отходя от менеджера, начинаем процедуру swift перевода по реквизитам.

Реквизиты так же есть в личном кабинете, либо внизу каждого инвойса.

Только обязательно в комментарии к платежу, надо указать свой ID плательщика К************.

На вопрос финансового контроля, прикладываем распечатанные pdf.

В моём случае предоплаты на несколько месяцев, комиссия составила 13 евро.

Знаю что Райффайзен ещё предоставляет такое переводы и ОТП, но комиссия там заметно больше.

Возможно есть ещё варианты, поделитесь ниже.

]]>
https://blog.antsev.com/auto/dashboard-nissan-sunny-rz-1/ <![CDATA[Электронная приборная панель Nissan Sunny RZ-1]]>
nissan rz-1

Электронная приборная панель Nissan Sunny RZ-1

Linux Internet Windows Авто

Nissan Sunny B12 Coupe \ Sentra \ Hikari как их только не называли.

Сегодня попишем про электронную приборную панель для данного авто.

Либо седина даёт о себе знать, либо одно из двух.

В моей жизни было много автомобилей и как правило они были обычным повседневом с ноткой душевности.

Но чем дальше смотришь в 1980-е, тем больше понимаешь что в 90-е градус саке начинал падать, либо был неурожай риса.

Вот несколько примеров автомобилей, которые хочется не только разглядывать на картинке, но и поставить к себе в гараж.

Мне посчастливилось найти живой экземпляр Nissan Sunny B12 Coupe.

Комфорт, климат-контроль, ABS, круиз и т.д. никогда и не было, но это не играет никакой роли.

С момента покупки прошло 2 года, а каждый раз сажусь с улыбкой.

Даже инструкция на немецком сохранилась.

Всё это время меня не покидала мысль установить себе такую приборную панель, вместо обычной со стрелками.

панель

Нашёл, купил, теперь вопрос в подключении.

Ниже представлен вольный перевод вот этой статьи, за что большое спасибо автору.

Распиновка коннектора подключения приборки

Распиновка разъёмов

Разъемы нарисованы с левой стороны. По сути, вы видите здесь пять разъемов. Разъемы «A», «B» и «C» под заголовком «Digitaltachostecker» описывают разъем цифровой панели. Разъем «A» — большой, который питает подсветку и сигнальные лампы, разъем «B» — труднодоступный черный, который обеспечивает все фактические цифровые сигналы. Трехконтактный разъем «C» не может быть найден на панели, но это разъем на датчике тахометра в моторном отсеке (вам тоже нужна эта деталь если у вас ранее был тросиковый спидометр).

Разъемы с маркировкой «EU stecker» относятся к разъемам, которые вы найдете в своих Леворульных Nissan Sunny B12, поставляемых с аналоговыми приборными панелями (стрелки).

Если у вас младшая версия B12, которая поставлялась без датчика оборотов (тахометра), то расположение разъемов, вероятно, снова отличается.

На рисунках показаны разъемы (гнезда) на приборной панели, как если бы вы смотрели на обратную сторону. Они не показывают разъемы на жгуте!

Первая проблема, с которой вы столкнетесь, заключается в том, что вам нужно получить небольшой разъем «B», который, если он не подключен к вашему цифровому кластеру, в значительной степени недоступен. Вы можете попытаться найти оригинальный номер детали или номер детали у поставщика, который сделал этот разъем, или, в худшем случае, заменить разъем другим типом аналогичного размера / контакта и просто спаять все вместе.
Белый разъем большего размера «А» физически идентичен разъему «А» вашего жгута проводов с леворульным рулем, но с другим расположением выводов.

У вас в руках какие-то штекеры? Хорошо, тогда вы уже можете спаять все вместе, и ваш цифровой кластер уже должен ожить. PRM, указатели поворота, контрольные сигналы, указатель температуры и уровень топлива должны ожить.

Датчик уровня топлива

Проблема, которая пока не решена, это датчик уровня топлива. Топливные датчики, используемые в автомобилях с цифровой приборной панелью, имеют другую характеристику.

Аналоговые приборки используют регулятор напряжения 8 В, который последовательно подключен к указателю уровня топлива и датчику уровня топлива.

Значение резистора датчика топлива LHD следующее:

Сопротивление резистора [Ом] / Отображаемый уровень топлива
2,4 / 110%
11,8 / 100% (полный)
21 / 77%
35,7 / 48%
61,8 / 25%
80,6 / 5%
87 / -1%

Характеристика цифровой приборки совершенно иная.
На датчик топлива подается напряжение 5В, и в зависимости от номиналов резисторов отображается следующий уровень топлива:

Сопротивление резистора [Ом] / Количество баров
14,9 / 14 (полный)
20,4 / 14 (полный)
23,6 / 13
30,6 / 13
78 / 10
105 / 8
216 / 6
300 / 4
400 / 3
600 / 2
717 / 1
809 / 1
1000 / 0 (пусто)

Обладая этой информацией, вы сможете создать свой собственный адаптер для топливного датчика.




Если вы думаете что на этом автор статьи выше остановился, то нет.

Апогеем явился образ Docker для адаптации показаний скорости приборки Nissan Sunny RZ-1 из аналогового в цифровой сигнал через микроконтроллер.

У меня даже слов нет, очень большая работа с полным вовлечением в процесс.

Но это в теории всё хорошо, легко и просто.

Мои приключения продолжаются и по мере решения, буду пописывать сюда или делать новые записи в категории «Авто».

]]>
https://blog.antsev.com/windows/update-windows-kb5013943/ <![CDATA[Обновление Windows KB5013943]]>
microsotf net framework

Обновление Windows KB5013943

Linux Internet Windows Авто

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

При двойном клике ПО не запускалось, либо с ошибками 0xc0000135.

Самое забавное что PowerShell так же покрывался ошибками при запуске.

Удалить проблемное обновление KB5013943 не получалось, система так же вваливалась в ошибку.

KB5013943 отключает Net Framework 3.5 после установки, из-за чего наблюдаются сложности с запуском программ, которые используют Net Framework 3.5.

Попробуем выполнить следующее:

1) Нажимаем на сочетание клавиш Win + X;
2) Выбираем в списке «Командная строка (администратор)»;
3) Запустится «Командная строка» с правами администратора.

полетели команды по очереди:

dism /online /enable-feature /featurename:netfx3 /all

dism /online /enable-feature /featurename:WCF-HTTP-Activation

dism /online /enable-feature /featurename:WCF-NonHTTP-Activation

Перезагрузка и, судя по инструкциям во всяких интернетах, должно работать, но нет, хрен во всё аристократическое лицо.

Полезли смостреть что с компонентом:
«Пуск» -> «Панель управления» -> «Программы» -> «Включение или отключение компонентов Windows».
Установите флажок для .NET Framework 3.5.
Нажмите «ОК», если будет предложено, выберите «Обновление Windows» и дождитесь установки.

Всё проходит хорошо, но после перезагрузки всё стабильно не работает.

Есть статья на английском с картинками.

.NET Framework Repair Tool тоже не сильно помог.

Решение оказалось проще:

  1. В компонентах Windows отключаем .NET Framework 3.5
  2. Перезагрузка
  3. Скачиваем и ставим .NET Framework 3.5 SP1
  4. Перезагрузка

На этом всё, мой маленький монохромный друг, можно макать печеньку в чай и дальше пользоваться плодами цивилизации.

]]>
https://blog.antsev.com/internet/home-server/ <![CDATA[Домашний сервер]]>
home-server

Домашний сервер

Linux Internet Windows Авто

Как организовать сервер дома для хостинга сайтов?

Немного подбив мысли в предыдущих записях можно сказать что домашнему серверу быть и даже в боевых условиях.

Теперь рассмотрим теоретическую часть с первого шага и до победной установки wordpress.

Список того, что понадобится:

  1. Белый IP у провайдера интернета.
  2. Домен.
  3. DNS-сервер
  4. Адекватный роутер.
  5. Физическая или виртуальная машинка.
  6. Немного азарта.

Теперь пошагово.

Без примеров не получится, поэтому для ориентира возьмём белый ip от провайдера 12.34.56.78, адрес сайта site1.ru.

Шаг 1. Белый ip обязателен. Хотя можно и на сером ip через обратный прокси (насколько я понял, но с такой реализацией ваши руки точно надо будет оторвать и поставить в музее BDSM).

Шаг 2. Использовать бесплатные варианты с субдоменами и бесплатными зонами, так себе решение, поэтому можно нормально купить и продлять домен в .ru зоне.

Шаг 3. DNS: домен site1.ru привязывается к админ-панели Яндекса (регистрация в Яндексе, админка, добавить новый домен, подтвердить права).

В админке Яндекса появился домен, теперь можно зайти в управление DNS доменом и создать новую запись.

Тип записи — А, значение @ (для site1.ru) и вторая запись со значением www (для отображения www.site.ru), хост пишем наш домашний ip провайдера 12.34.56.78, TTL 21600 вполне подойдёт.

На этом можно заварить крепкий, как первый поцелуй, и чёрным, как ночь, чаем, приправить лёгкими пельмешками и буквально две нотки сметаны или хренодёра.

Ждун

Эта процедура занимает от получаса до нескольких часов.

Шаг 4. Немного зависит от шага 5: нужно узнать ip физического или виртуального сервера и сделать его ip не динамическим, а статическим.

Например у вас TP-Link, то зайдя в сам роутер — резервирование адресов + проброс портов.

Пробрасывать 80, 443 и 8888 (дефолтный для aapanel) однозначно, а вот для ssh, ftp уже по желанию.

Если же у вас MikroTik, то эта инструкция не нужна, только надо не забыть маскарад сделать.

Самое идеальное решение — пробросить 80 и 443 порт, остальное на внешку не открывать, а для собственной работы с ftp, ssh, панелью и т.д. использовать vpn.

Шаг 5. Для 10-20 сайтов небольшой посещаемости отдельную машинку заводить нет никакого смысла, подойдёт vmware:

  • Создаём новую виртуальную машину. Место на ваше усмотрение, оперативки не менее 2ГБ, процессоров тоже пару минимум, сетевая карта мостом (так можно без проблем увидеть виртуалку в роутере и задать ей постоянный ip-адрес).
  • Скачиваем .iso Ubuntu Server с оф. сайта.
  • При запуске виртуальной машины подсовываем .iso и ставим ubuntu.
  • Не забываем все обновить и минимально настроить под себя ssh.
  • Разрывая на себе тельняшку, ставим панель: wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh
  • Возвращаемся к шагу 3 и включаем ждуна.
  • Иногда бывает что панель ставится, но есть проблема с Python решается переустановкой. Команда будет в отчёте.

Готово, теперь можно добавлять site1.ru в панель, создавать базу данных MySQL, FTP и т.д.

]]>
https://blog.antsev.com/linux/ip-from-proxy/ <![CDATA[Определение IP при проксировании]]>

Определение IP при проксировании

Linux Internet Windows Авто

Как верно определить IP адрес посетителя при использовании проски-сервера NGINX.

В продолжении этой записи, возник вопрос о получении реального ip посетителя.

Всё оказалось куда проще: надо на сайте, который уже размещён за проксёй, заменить функцию

$_SERVER["REMOTE_ADDR"]

на:

<?php
    echo $_SERVER['HTTP_X_FORWARDED_FOR'];
?>

Хотите добить скрипт всеми DLC? Пожалуйста:

<?php
 
$client  = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote  = @$_SERVER['REMOTE_ADDR'];
 
if(filter_var($client, FILTER_VALIDATE_IP)) $ip = $client;
elseif(filter_var($forward, FILTER_VALIDATE_IP)) $ip = $forward;
else $ip = $remote;
 
echo $ip;
 
?>
]]>
https://blog.antsev.com/linux/aapanel-vs-vestacp/ <![CDATA[AA Panel и VestaCP]]>

AA Panel и VestaCP

Linux Internet Windows Авто

Хотелось бы поделиться небольшим опытом использования панелей для хостинга Vesta и AApanel.

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

Погулял по форумам…

За свою работу попробовал:

  • ISPManager 4, 5 и 6 версии
  • Cpanel
  • DirectAdmin
  • Самописные панели ведущих хостинговых компаний

Но задача была в адекватной бесплатной панели, поскольку виртуальные машины будут для сайтов без монетизации.

Сначала в бой ринулась VestCP.

Хороший, шустрый продукт, но сырой: бекап на FTP есть, но не работает; Lets Encrypt есть, но только по dns записям; два вида ПО для работы с FTP, но один глючит; выбор версии PHP допиливается по мануалу с форума; менеджер файлов платный (вот такое первый раз видел, ладно хитрожопые модули платные, но менеджер файлов…) .

Как ни странно, но при наличии различных доработок на форуме, в официальные релизы доработки не входили или может быть я мало ждал.

Даже выпущена допиленная версия с выбором версии PHP под названием MyVesta

Но в один из вечеров ковыряя VestaCP на форуме наткнулся на сообщение из разряда «задолбался, ухожу на aapanel» и любопытство завело меня к демке AApanel.

Из нелогичного: почту надо отдельно доставлять в AppStore в виде MailServer и далее там по-отдельности подкидывать домены для работы с почтой.

Спустя 3-4 месяца использования (на конец января 2021) я никуда из скриптов или функционала не лез.

Просто установил, настроил и пользуюсь.

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

Ну а если всё пошло по органу, то можно удалить конфигу

rm -f /www/server/panel/data/admin_path.pl
]]>
https://blog.antsev.com/internet/password-generator/ <![CDATA[Генератор паролей]]>
pass-word.ru

Генератор паролей

Linux Internet Windows Авто

Надоело пользоваться различными чужеродными генераторами, теперь есть свой генератор паролей pass-word.ru.

]]>
https://blog.antsev.com/linux/webmin-nginx-orangepi-raspberrypi/ <![CDATA[WebMin+NGINX на Orange Pi]]>

WebMin+NGINX на Orange Pi

Linux Internet Windows Авто

Лучше бы BDSM начал изучать, наверное…

Воспалённая фантазия преподнесла очередную мысль:»А что если в пределах одного внешнего белого IP организовать получение контента сайтов с разных физических серверов?»

Задача в том, что при обычной схеме можно перебросить порт только на 1 сервер. Поэтому в роли этого компа будет выступать Orange Pi (Raspberry Pi) c NGINX, который будет раскидывать 80 порт по серверам в зависимости от домена.

Более-менее адекватное решение для данного вопроса нашлось в WebMin.

На чистый ARMBIAN (buster) ставим nginx:

apt update

apt install nginx

И пока можно его оставить в поке.

Теперь погнали за webmin’ом.

Добавляем в /etc/apt/sources.list пару репозиториев

deb download.webmin.com/download/repository sarge contrib

deb webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

Подкладываем свинью в виде GPG ключа

cd /root

wget www.webmin.com/jcameron-key.asc

apt-key add jcameron-key.asc

Теперь можно ставить сам webmin

apt update

apt install webmin

На этом основная часть готова, можно заходить по localhost:10000

Не забываем прикрутить нужный домен, сменить порт и пробросить в маршрутизаторе.

После этого шага у меня начался ступор, поскольку надо было вебморду получить для nginx, но по этому вопросу везде было указано:

apt install webmin-virtualmin-nginx webmin-virtualmin-nginx-ssl

И тут был подвох:

apt install webmin-virtualmin-nginx webmin-virtualmin-nginx-ssl
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package webmin-virtualmin-nginx
E: Unable to locate package webmin-virtualmin-nginx-ssl

Добавление различных репозиториЁв не дало никакого эффекта, кроме полезной строки добавления их ключей (мало ли пригодится):

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com `sudo apt-get update 2>&1 | grep -o '[0-9A-Z]\{16\}$' | xargs`

Ну да ладно, шило в жопе горит так, что сидеть спокойно уже невозможно, ведь вот оно, почти готово всё… и firewall, и iptables, и мониторинг, и вагон всяких плюшек в единой вебморде, но сраный nginx под ArmBian так и хочет тебе подставить вместо стула бутылку.

Но нет, пошли по логическому пути: если webmin имеет модульную систему, то что будет, если ему подсунуть именно модуль nginx?

Находим и качаем модуль тут.

Подкладываем его через конфигурацию webmin как новый модуль и он нормально ставится.

Заходим в серверы — nginx и видим желание всей системы придать тебе вращение, осью которой является половой орган во весь монитор: Perl выдаёт 500 ошибку. В рот мне ноги!

Ну да ладно. Нагуглил, убери за собой. Подкидываем:

apt install perl-libwww-perl

apt install perl-DBI

apt install perl-DBD-MySQL

apt install perl-GD

Если дело касается обычной системы и выдаётся:

Can't locate HTML/Entities.pm in @INC (you may need to install the HTML::Entities module) (@INC contains: /usr/share/webmin /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base /usr/share/webmin/ .)

то продолжаем пытать клавиатуру:

apt install libhtml-parser-perl

По этому поводу ещё нашёл подсказку, но мне не пригодилась:

Solving the Perl execution failed error
Follow this instruction

Open /usr/share/webmin/nginx/nginx-lib.pl

Go to line 199 and add a backslash before the opening bracket
if ($line =~ /server {$/) {

Do not forget to add a backslash before the closing bracket on line 202
if ($line =~ /}$/) {

Так же не забываем после каждой установки дополнения или изменения конфигов

service webmin restart

На этом танцы с бубном заканчиваются и можно пользоваться всеми прелестями жизни.

На затравку пример прокси nginx (заметил что если всё пихать в один конфиг, то nginx покрывается ошибками, пока что не разбирался в этом):

server {
        listen 80
        server_name site1.ru www.site1.ru;
        location / {
            proxy_pass http://192.168.1.21/;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
}

server {
        listen 443
        server_name site2.ru www.site2.ru;
        location / {
            proxy_pass http://192.168.1.22/;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
}

Ну или принудительное перенаправление прокси при запросе http на https

server {
        listen 80
        server_name site3.ru www.site3.ru;
        return 301 https://$host$request_uri;
}

]]>
https://blog.antsev.com/linux/hdd-speed/ <![CDATA[Проверка скорости HDD]]>

Проверка скорости HDD

Linux Internet Windows Авто

Задался я мыслью о замере скорости дисков из командной строки.

Вариантов несколько, но больше понравилась dd

dd if=/dev/sda1 of=iotestfile bs=10M count=1000 conv=fdatasync

]]>
https://blog.antsev.com/linux/root-password/ <![CDATA[Установка пароля для root]]>

Установка пароля для root

Linux Internet Windows Авто

Изначально в системе root без пароля (не задан), поэтому от него залогиниться не получится.

Вывод прост:

sudo passwd root

]]>
https://blog.antsev.com/linux/first-start-ssh/ <![CDATA[Настройка SSH после первого запуска]]>

Настройка SSH после первого запуска

Linux Internet Windows Авто

Если ты дошёл до мысли «Нужен доступ к железу по ssh«, то рассказывать что это и с чем едят, смысла нет никакого.

Знаю что выполнять команды от root не самый безопасный вариант, но в некоторых случаях root — это необходимость (например панель управления для хостинга Vesta, кроме как от root не поставить).

Первый шаг — на пациенте надо поставить OpenSSH server:

apt install openssh-server

После установки пакетов, надо будет добавить в автозагрузку саму службу:

systemctl enable sshd

Эти два шага требуются если вы ставите ssh на уже готовую систему. Как правило, при установке той же ubuntu-server или debian, выдаётся запрос на установку OpenSSH.

Теперь к самой настройке службы.

… люди делятся на два типа: кто делает резервные копии и кто ещё не делает резервные копии.

Поэтому делаем резервную копию конфига sshd, которая находится тут:

/etc/ssh/sshd_config

Теперь можно ковырять кому чем удобно конфигу:

nano /etc/ssh/sshd_config

Первым делом меняем порт с 22 на любой свободный, например 9191.

Указываем Protocol 2

PermitRootLogin yes — ничего страшного в этом нет, пока идёт первоначальная настройка, после завершения работ, надо указать no.

PubkeyAuthentication yes

Соль и перец по вкусу, потом сохраняем, закрываем и надо перезапустить службу:

systemctl restart ssh

Вишенкой на торте будет открытие порта 9191:

ufw allow 9191

P.S. Конфиг не подхватывается на лету, после каждого изменения, надо перезапускать службу.

]]>