Изменение порта для подключения по SSH
Чтобы изменить порт для подключения по SSH необходимо отредактировать файл конфигурации SSH демона. Откроем данный файл текстовым редактором:
Найдем строку Port 22 и изменим её, указав новый порт для подключения. Например Port 25022.
Выходим, сохраняем файл и перезагружаем SSH следующей командой:
После перезапуска SSH, он станет доступен по новому порту, а текущая сессия на старом останется активной. Поэтому не отключаясь для проверки попробуем подключится по новому порту - если не пускает, то возможно в системе работает фаервол и нужно в нем разрешить новый порт, например в iptables это делается так (где 25022 наш новый порт):
Можно разрешить средствами iptables подключение к SSH только с указанного диапазона IP адресов:
где 192.168.0.0/24 - IP адрес сети и маска сети, с которых разрешено подключение по SSH. Далее проверяем подключение по SSH на новом порту ssh <user>@<ip> -p <port> - если подключение выполняется, то можем удалить правило iptables подключения по SSH по старому порту:
Посмотреть в системе на каком порту и на каких сетевых интерфейсах работает SSH можно следующей командой:
Чтобы изменить порт для подключения по SSH необходимо отредактировать файл конфигурации SSH демона. Откроем данный файл текстовым редактором:
vim /etc/ssh/sshd_config
Найдем строку Port 22 и изменим её, указав новый порт для подключения. Например Port 25022.
Выходим, сохраняем файл и перезагружаем SSH следующей командой:
service sshd restart
После перезапуска SSH, он станет доступен по новому порту, а текущая сессия на старом останется активной. Поэтому не отключаясь для проверки попробуем подключится по новому порту - если не пускает, то возможно в системе работает фаервол и нужно в нем разрешить новый порт, например в iptables это делается так (где 25022 наш новый порт):
iptables -A INPUT -p tcp --dport 25022 -j ACCEPT
Можно разрешить средствами iptables подключение к SSH только с указанного диапазона IP адресов:
iptables -A INPUT -d 192.168.0.0/24 -p tcp --dport 25022 -j ACCEPT
где 192.168.0.0/24 - IP адрес сети и маска сети, с которых разрешено подключение по SSH. Далее проверяем подключение по SSH на новом порту ssh <user>@<ip> -p <port> - если подключение выполняется, то можем удалить правило iptables подключения по SSH по старому порту:
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
Посмотреть в системе на каком порту и на каких сетевых интерфейсах работает SSH можно следующей командой:
netstat -tulpan | grep ssh
👍3
Внедрение GitOps с помощью ArgoCD: пошаговое руководство
В современном быстро меняющемся мире DevOps управление и развертывание приложений, последовательное и надежное в различных средах, может оказаться сложной задачей. GitOps, парадигма, использующая Git-репозитории в качестве единого источника истины для декларативной инфраструктуры и приложений, предлагает решение. В этом посте я расскажу вам о проекте, в котором мы внедрили GitOps с помощью ArgoCD, подробно опишу цели проекта и шаги, которые мы предприняли для их достижения.
https://medium.com/@kalimitalha8/implementing-gitops-with-argocd-a-step-by-step-guide-b79f723b1a43
В современном быстро меняющемся мире DevOps управление и развертывание приложений, последовательное и надежное в различных средах, может оказаться сложной задачей. GitOps, парадигма, использующая Git-репозитории в качестве единого источника истины для декларативной инфраструктуры и приложений, предлагает решение. В этом посте я расскажу вам о проекте, в котором мы внедрили GitOps с помощью ArgoCD, подробно опишу цели проекта и шаги, которые мы предприняли для их достижения.
https://medium.com/@kalimitalha8/implementing-gitops-with-argocd-a-step-by-step-guide-b79f723b1a43
Более чем 80 средств мониторинга системы Linux
По ссылке будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.
https://habr.com/ru/companies/ua-hosting/articles/281519/
По ссылке будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.
https://habr.com/ru/companies/ua-hosting/articles/281519/
❤1
Приостановка и продолжение исполнения процесса
Для приостановки и продолжения исполнения процессов следует использовать сигналы
Превратится в команду для приостановки исполнения процесса:
Или команду для продолжения исполнения процесса:
Для приостановки и продолжения исполнения процессов следует использовать сигналы
SIGSTOP
и SIGCONT
соответственно. Да, как вы наверняка уже догадались, ранее рассмотренная команда:$ kill 14371
Превратится в команду для приостановки исполнения процесса:
$ kill -s SIGSTOP 14371
Или команду для продолжения исполнения процесса:
$ kill -s SIGCONT 14371
Что такое FSMO роли, их назначение и можно ли без них жить
Многие системные администраторы, работая с Microsoft Active Directory Domain Services не знают или не до конца понимают, что такое FSMO роли и для чего они нужны. Те кто о них знает, не всегда понимает важность этих ролей, в каких случаях владелец ролей обязательно должен быть доступен, а в каких случаях их отсутствие практически никак не отразится на работе службы каталогов.
В статье ниже, будет в кратце рассказано про Flexible single-master operations «операции с одним исполнителем». А также можно ли без них жить.
https://telegra.ph/CHto-takoe-FSMO-roli-ih-naznachenie-i-mozhno-li-bez-nih-zhit-09-07
Многие системные администраторы, работая с Microsoft Active Directory Domain Services не знают или не до конца понимают, что такое FSMO роли и для чего они нужны. Те кто о них знает, не всегда понимает важность этих ролей, в каких случаях владелец ролей обязательно должен быть доступен, а в каких случаях их отсутствие практически никак не отразится на работе службы каталогов.
В статье ниже, будет в кратце рассказано про Flexible single-master operations «операции с одним исполнителем». А также можно ли без них жить.
https://telegra.ph/CHto-takoe-FSMO-roli-ih-naznachenie-i-mozhno-li-bez-nih-zhit-09-07
👍2
Руководство по стеку протоколов TCP/IP для начинающих
Cтек протоколов TCP/IP широко распространен. Он используется в качестве основы для глобальной сети интернет. Разбираемся в основных понятиях и принципах работы стека.
https://telegra.ph/Rukovodstvo-po-steku-protokolov-TCPIP-dlya-nachinayushchih-12-08
Cтек протоколов TCP/IP широко распространен. Он используется в качестве основы для глобальной сети интернет. Разбираемся в основных понятиях и принципах работы стека.
https://telegra.ph/Rukovodstvo-po-steku-protokolov-TCPIP-dlya-nachinayushchih-12-08
Горячие клавиши для работы в терминале Linux
Перемещение по строке
← , → или Ctrl + b, Ctrl + f Смещение курсора на один символ левее или правее.
Ctrl + →, Ctrl + ←
или
Alt + b, Alt + f Смещение курсора на одно слово влево или вправо
Ctrl + a, Home Установить курсор в начало строки
Ctrl + e, End Установить курсор в конец строки
Ctrl + xx Переход между двумя последними позициями курсора
Сочетания клавиш для редактирования строки в терминале.
Редактирование строки
Tab, Ctr + i Автодополнение команды или пути
Tab, tab или Alt + ?(Shift+/) Представление вариантов автодополнения
Backspace, Ctrl + h Удаление символа перед курсором
Ctrl + d Удалить символ за курсором
Ctrl + w или Alt + Backspace Удалить все символы от курсора до пробела слева
Alt + d, Esc + d Удалить символы от курсора до конца слова
Ctrl + y Вставить слова, которые были удалены с помощью Alt+d, Ctrl+w
Alt + \ Удалить любое количество пробелов вместе, где стоит курсор.
Alt + r, Esc + r Отменить все изменения внесенные в строку
Alt + c Изменить регистр буквы под курсором на заглавный и переместить курсор в конец слова
Alt + u Изменить регистр всех букв от курсора до конца слова на верхний регистр
Alt + l Изменить регистр всех букв от курсора до конца слова на нижний регистр
Alt + t Поменять местами слово под курсором и предыдущее слово
Ctr + t Переместить символ перед курсором под курсор
Ctrl + _(Sift+-) Откат редактирования (Undo)
Сочетания клавиш для просмотра истории команд.
История команд
Ctrl + r Поиск ранее введенной команды в истории
↑, ↓ или Ctrl + p, Ctrl + n Перемещение по истории ранее введенных команд и путей
Ctrl + o Вызвать последнею введенную команду
Alt + . или Esc + . Вставить аргумент команды, выполненной ранее
Alt + < (Shift+,) Повторить первую команду в буфере истории
Сочетания клавиш для управления выводом информации на экран.
Вывод на экран
Ctrl + l Очистка окна терминала
Ctrl + s Заморозить терминал
Ctrl + q Продолжить работу терминала
Ctrl + c Прервать работу терминальной утилиты
Ctrl + z Перевести работу терминальной утилиты в фоновый режим
Ctrl + d Выйти из командной оболочки bash
Перемещение по строке
← , → или Ctrl + b, Ctrl + f Смещение курсора на один символ левее или правее.
Ctrl + →, Ctrl + ←
или
Alt + b, Alt + f Смещение курсора на одно слово влево или вправо
Ctrl + a, Home Установить курсор в начало строки
Ctrl + e, End Установить курсор в конец строки
Ctrl + xx Переход между двумя последними позициями курсора
Сочетания клавиш для редактирования строки в терминале.
Редактирование строки
Tab, Ctr + i Автодополнение команды или пути
Tab, tab или Alt + ?(Shift+/) Представление вариантов автодополнения
Backspace, Ctrl + h Удаление символа перед курсором
Ctrl + d Удалить символ за курсором
Ctrl + w или Alt + Backspace Удалить все символы от курсора до пробела слева
Alt + d, Esc + d Удалить символы от курсора до конца слова
Ctrl + y Вставить слова, которые были удалены с помощью Alt+d, Ctrl+w
Alt + \ Удалить любое количество пробелов вместе, где стоит курсор.
Alt + r, Esc + r Отменить все изменения внесенные в строку
Alt + c Изменить регистр буквы под курсором на заглавный и переместить курсор в конец слова
Alt + u Изменить регистр всех букв от курсора до конца слова на верхний регистр
Alt + l Изменить регистр всех букв от курсора до конца слова на нижний регистр
Alt + t Поменять местами слово под курсором и предыдущее слово
Ctr + t Переместить символ перед курсором под курсор
Ctrl + _(Sift+-) Откат редактирования (Undo)
Сочетания клавиш для просмотра истории команд.
История команд
Ctrl + r Поиск ранее введенной команды в истории
↑, ↓ или Ctrl + p, Ctrl + n Перемещение по истории ранее введенных команд и путей
Ctrl + o Вызвать последнею введенную команду
Alt + . или Esc + . Вставить аргумент команды, выполненной ранее
Alt + < (Shift+,) Повторить первую команду в буфере истории
Сочетания клавиш для управления выводом информации на экран.
Вывод на экран
Ctrl + l Очистка окна терминала
Ctrl + s Заморозить терминал
Ctrl + q Продолжить работу терминала
Ctrl + c Прервать работу терминальной утилиты
Ctrl + z Перевести работу терминальной утилиты в фоновый режим
Ctrl + d Выйти из командной оболочки bash
👍4
Подборка полезных скриптов для Mikrotik
https://help.mikrotik.com/docs/spaces/ROS/pages/139067404/Scripting+examples#Scriptingexamples-Generatebackupandsenditbye-mail
https://help.mikrotik.com/docs/spaces/ROS/pages/139067404/Scripting+examples#Scriptingexamples-Generatebackupandsenditbye-mail
❤1
Как подключиться к контейнеру Docker по ssh
После того, как у вас появился контейнер Docker, работающий в системе Linux, одна из вещей, которые вам, вероятно, потребуется сделать, – это запустить команды внутри контейнера.
https://telegra.ph/Kak-podklyuchitsya-k-kontejneru-Docker-po-ssh-09-26
После того, как у вас появился контейнер Docker, работающий в системе Linux, одна из вещей, которые вам, вероятно, потребуется сделать, – это запустить команды внутри контейнера.
https://telegra.ph/Kak-podklyuchitsya-k-kontejneru-Docker-po-ssh-09-26
Создаем логические тома LVM на Linux
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
❤2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Snips.sh
Безпарольный, анонимный pastebin на основе SSH с удобным текстовым и веб-интерфейсом
Фичи:
▪️Нулевая установка: используйте с любого устройства, где установлен SSH-клиент
▪️Веб-интерфейс: код с подсветкой синтаксиса, короткие ссылки и поддержка рендеринга Markdown
▪️Текстовый интерфейс: управление и просмотр сниппетов прямо из терминала
▪️Без паролей: всё, что вам нужно — это SSH-ключ
▪️Анонимность: без регистрации, без логинов, без необходимости указывать email
▪️URL с временем жизни: ограниченный по времени доступ для безопасного обмена
▪️Возможность самостоятельного хостинга: контейнеризированный и малозатратный в плане ресурсов
▪️Определение языка с помощью ИИ: интеллектуальное распознавание исходного кода
https://github.com/robherley/snips.sh
Безпарольный, анонимный pastebin на основе SSH с удобным текстовым и веб-интерфейсом
Фичи:
▪️Нулевая установка: используйте с любого устройства, где установлен SSH-клиент
▪️Веб-интерфейс: код с подсветкой синтаксиса, короткие ссылки и поддержка рендеринга Markdown
▪️Текстовый интерфейс: управление и просмотр сниппетов прямо из терминала
▪️Без паролей: всё, что вам нужно — это SSH-ключ
▪️Анонимность: без регистрации, без логинов, без необходимости указывать email
▪️URL с временем жизни: ограниченный по времени доступ для безопасного обмена
▪️Возможность самостоятельного хостинга: контейнеризированный и малозатратный в плане ресурсов
▪️Определение языка с помощью ИИ: интеллектуальное распознавание исходного кода
https://github.com/robherley/snips.sh
Шпаргалка по systemd
Основные команды systemctl:
1. Проверка статуса службы:
2. Запуск службы:
3. Остановка службы:
4. Перезапуск службы:
5. Перезагрузка, только если служба работает:
6. Включить автозапуск службы при загрузке:
7. Отключить автозапуск службы:
8. Показать все запущенные службы:
9. Просмотр всех служб (включая остановленные):
10. Показать все активные сервисы, включая другие юниты (mount, timer и т.д.):
11. Маскировка службы (запрет её запуска):
12. Демаскировка службы:
Основные команды systemctl:
1. Проверка статуса службы:
systemctl status <имя_сервиса>
2. Запуск службы:
systemctl start <имя_сервиса>
3. Остановка службы:
systemctl stop <имя_сервиса>
4. Перезапуск службы:
systemctl restart <имя_сервиса>
5. Перезагрузка, только если служба работает:
systemctl reload <имя_сервиса>
6. Включить автозапуск службы при загрузке:
systemctl enable <имя_сервиса>
7. Отключить автозапуск службы:
systemctl disable <имя_сервиса>
8. Показать все запущенные службы:
systemctl list-units --type=service
9. Просмотр всех служб (включая остановленные):
systemctl list-units --all --type=service
10. Показать все активные сервисы, включая другие юниты (mount, timer и т.д.):
systemctl list-units --state=active
11. Маскировка службы (запрет её запуска):
systemctl mask <имя_сервиса>
12. Демаскировка службы:
systemctl unmask <имя_сервиса>
❤2
Основные типы DNS записей
A — запись соответствия с IPv4 адресом;
AAAA — запись соответствия с IPv6 адресом;
CNAME — запись соответствия другому доменному имени;
MX — адресная запись, указывающая на почтовый сервер домена;
NS — адресная запись указывающая на DNS-резолверы, отвечающие за данный домен;
TXT — произвольная текстовая запись в домене, часто используется для верификации принадлежности домена.
A — запись соответствия с IPv4 адресом;
AAAA — запись соответствия с IPv6 адресом;
CNAME — запись соответствия другому доменному имени;
MX — адресная запись, указывающая на почтовый сервер домена;
NS — адресная запись указывающая на DNS-резолверы, отвечающие за данный домен;
TXT — произвольная текстовая запись в домене, часто используется для верификации принадлежности домена.
👍2
PGTune рассчитывает конфигурацию для PostgreSQL, основываясь на максимальной производительности для данной конфигурации оборудования. Это не серебряная пуля для оптимизации настроек PostgreSQL. Многие настройки зависят не только от конфигурации оборудования, но и от размера базы данных, количества клиентов и сложности запросов. Оптимальная конфигурация базы данных может быть получена только при учете всех этих параметров.
https://github.com/le0pard/pgtune
https://pgtune.leopard.in.ua/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Примеры использования команды grep в Linux
Отображение строк до или после строки с результатом поиска
Часто пользователю нужно вывести на экран не только строку, содержащую искомый шаблон. Но и несколько строк до или после нее, чтобы лучше понимался контекст. Специально на такой случай у команды grep есть две особых опции:
-A (от англ. After) — указанное количество строк до шаблона;
-B (от англ. Before) — указанное количество строк после шаблона.
Попробуем отфильтровать вывод команды ifconfig, который для непривычного пользователя может быть излишне объемным.
Таким образом Вы получите строку, содержащую шаблон eth0, а также 4 строки до нее:
Тогда как таким способом Вы получите строку, содержащую шаблон UP, а также 2 строки после нее:
Выведение заданного числа всех соседних строк с помощью команды grep
В том случае, если Вы точно не знаете, какие именно соседние строки (до или после строки, содержащей шаблон) Вам нужны — воспользуйтесь командой grep с опцией -C. Следующая комбинация команд выведет на экран по 2 строки до и после строчки вывода команды ifconfig, содержащей шаблон lo:
Подсчет числа строк, содержащих искомое выражение
В некоторых случаях Вам могут понадобится не сами строчки, включающие заданное выражение, а их общее количество. В таком случае воспользуйтесь опцией -c. Следующая комбинация команд выведет на экран количество строк в выводе команды ifconfig, включающих шаблон inet6.
Рекурсивный поиск строки по всем каталогам с помощью команды grep
Предположим, что Вам необходимо найти все вложения указанного выражения в текущем каталоге со всеми его подкаталогами и так далее. Для этого добавьте к команде grep опцию -r:
В результате утилита будет рекурсивно искать выражение "function" по всему дереву каталогов, начинающемуся с рабочего каталога.
Поиск в архивах gzip
Утилита gzip (от англ. GNU Zip) — это популярный инструмент для сжатия данных без потерь в Linux, использующий алгоритм Deflate.
При этом с помощью команды zgrep можно вести поиск по сжатому архиву точно так же, как Вы это делали вне сжатого архива с помощью команды grep. Следующая команда будет искать в архиве /var/log/syslog.2.gz строки, содержащие шаблон error с игнорированием регистра:
Отображение строк до или после строки с результатом поиска
Часто пользователю нужно вывести на экран не только строку, содержащую искомый шаблон. Но и несколько строк до или после нее, чтобы лучше понимался контекст. Специально на такой случай у команды grep есть две особых опции:
-A (от англ. After) — указанное количество строк до шаблона;
-B (от англ. Before) — указанное количество строк после шаблона.
Попробуем отфильтровать вывод команды ifconfig, который для непривычного пользователя может быть излишне объемным.
Таким образом Вы получите строку, содержащую шаблон eth0, а также 4 строки до нее:
# ifconfig | grep –A 4 eth0
Тогда как таким способом Вы получите строку, содержащую шаблон UP, а также 2 строки после нее:
# ifconfig | grep -B 2 UP
Выведение заданного числа всех соседних строк с помощью команды grep
В том случае, если Вы точно не знаете, какие именно соседние строки (до или после строки, содержащей шаблон) Вам нужны — воспользуйтесь командой grep с опцией -C. Следующая комбинация команд выведет на экран по 2 строки до и после строчки вывода команды ifconfig, содержащей шаблон lo:
# ifconfig | grep -C 2 lo
Подсчет числа строк, содержащих искомое выражение
В некоторых случаях Вам могут понадобится не сами строчки, включающие заданное выражение, а их общее количество. В таком случае воспользуйтесь опцией -c. Следующая комбинация команд выведет на экран количество строк в выводе команды ifconfig, включающих шаблон inet6.
# ifconfig | grep -c inet6
Рекурсивный поиск строки по всем каталогам с помощью команды grep
Предположим, что Вам необходимо найти все вложения указанного выражения в текущем каталоге со всеми его подкаталогами и так далее. Для этого добавьте к команде grep опцию -r:
В результате утилита будет рекурсивно искать выражение "function" по всему дереву каталогов, начинающемуся с рабочего каталога.
# grep –r "function" *
Поиск в архивах gzip
Утилита gzip (от англ. GNU Zip) — это популярный инструмент для сжатия данных без потерь в Linux, использующий алгоритм Deflate.
При этом с помощью команды zgrep можно вести поиск по сжатому архиву точно так же, как Вы это делали вне сжатого архива с помощью команды grep. Следующая команда будет искать в архиве /var/log/syslog.2.gz строки, содержащие шаблон error с игнорированием регистра:
# zgrep –i error /var/log/syslog.2.gz
👍3
Топ полезных команд
Отправить тестовое письмо:
Выполнить PHP функцию в консоли:
Отключить спящий режим на ubuntu server:
Для проверки набора переменных BASH_ENV:
Замер скорости диска:
Обновить locate:
Отправить тестовое письмо:
echo "test" | mail -s "Test Subject" user@gmail.com
Выполнить PHP функцию в консоли:
php -r "echo phpinfo();" | grep date.timezone
Отключить спящий режим на ubuntu server:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
Для проверки набора переменных BASH_ENV:
$ env | grep BASH_ENV
Замер скорости диска:
dd if=/dev/zero of=testfile bs=4k count=1310720
dd if=testfile of=/dev/null bs=4k count=1310720
Обновить locate:
/usr/libexec/locate.updatedb
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
NetAlertX — инструмент для мониторинга сетевой активности и обнаружения изменений в подключенных устройствах. Он помогает администратору отслеживать новые устройства в сети, анализировать подключение и уведомлять о любых подозрительных изменениях. Утилита может быть полезной для повышения безопасности сети и оптимизации управления подключениями.
https://github.com/jokob-sk/NetAlertX
https://github.com/jokob-sk/NetAlertX
❤2
Media is too big
VIEW IN TELEGRAM
OpenCost
Инструмент мониторинга затрат с открытым исходным кодом для Kubernetes и облачных вычислений
OpenCost предоставляет командам наглядную информацию о текущих и прошлых расходах и распределении ресурсов Kubernetes и облачных сред. Эти модели обеспечивают прозрачность расходов в средах Kubernetes, поддерживающих множество приложений, команд, отделов и т. д. Они также обеспечивают прозрачность расходов на облачные вычисления у различных провайдеров.
OpenCost был первоначально разработан и открыт компанией Kubecost. Этот проект объединяет в себе спецификацию, а также реализацию на языке Golang этих подробных требований.
https://github.com/opencost/opencost
Инструмент мониторинга затрат с открытым исходным кодом для Kubernetes и облачных вычислений
OpenCost предоставляет командам наглядную информацию о текущих и прошлых расходах и распределении ресурсов Kubernetes и облачных сред. Эти модели обеспечивают прозрачность расходов в средах Kubernetes, поддерживающих множество приложений, команд, отделов и т. д. Они также обеспечивают прозрачность расходов на облачные вычисления у различных провайдеров.
OpenCost был первоначально разработан и открыт компанией Kubecost. Этот проект объединяет в себе спецификацию, а также реализацию на языке Golang этих подробных требований.
https://github.com/opencost/opencost
👍2