Типичный Сисадмин
1.25K subscribers
364 photos
43 videos
201 links
⚙️Информация для системного администратора

По всем вопросам : @Sofiia_artamonova
Download Telegram
WebTTY: Доступ по SSH через браузер, даже там, где порт закрыт

Как мы с вами знаем, SSH — надежный и безопасный протокол для удаленного управления системами, который у многих является неотъемлемой частью работы. Однако, что делать, когда стандартные порты SSH заблокированы или закрыты, например, в строго защищенных корпоративных сетях или в облачных средах с жесткой политикой безопасности? Или что делать, если под рукой есть только браузер и нет возможности использовать обычный терминал? Или вам вживую нужно смотреть/управлять сессией?

Одним из таких решений является WebTTY — инструмент, который обеспечивает доступ к терминалу удаленного сервера через веб-браузер, используя технологию WebRTC и веб-технологии для создания безопасного и зашифрованного соединения. Это решение позволяет обойти ограничения, такие как заблокированные стандартные SSH-порты, и предоставляет простой и удобный способ взаимодействия с командной строкой сервера без необходимости открытия дополнительных портов, что особенно полезно в средах с жесткими сетевыми ограничениями или за фаерволами.

В этой статье мы рассмотрим, как WebTTY может быть использован для доступа к SSH-портам через браузер, даже если они закрыты, как его можно настроить и когда его можно использовать. Основана цель данного материала – познакомить вас с таким вариантом подключения и показать, как использовать данный инструмент. Надеюсь, что представленные примеры и объяснения помогут вам оценить его возможности и найти полезные применения в вашей практике.
Структура файловой системы в Linux

🔵/bin: Содержит исполняемые бинарные файлы различных служб, доступные для запуска всем пользователям сервера. Включает базовые команды, такие как echo, cat, cd, pwd, ls и другие.
🔵/boot: Содержит файлы загрузчика и ядра операционной системы. Без этих файлов система не сможет запуститься.
🔵/dev: Содержит файлы устройств, подключенных к серверу, такие как терминалы (tty*) и специальные устройства, такие как null, random, zero, а также диски и их разделы (vda*).
🔵/etc: Хранит конфигурационные файлы служб по умолчанию. Здесь можно настроить параметры работы различных служб.
🔵/home: Предназначена для домашних каталогов пользователей. Здесь создаются домашние директории для локальных пользователей.
🔵/lib и /lib64: Содержат библиотеки, необходимые для работы системных служб и файлы для загрузки системы и модуля ядра. /lib также является символьной ссылкой на /usr/lib.
🔵/media: Автоматически монтирует внешние устройства, такие как USB и CD-ROM.
🔵/mnt: Используется для временного монтирования внешних устройств, чаще всего вручную.
🔵/opt: Предназначена для установки пользовательского программного обеспечения.
🔵/proc: Хранит информацию о процессах и системную информацию в виде «виртуальной файловой системы».
🔵/root: Домашняя папка для корневого пользователя root.
🔵/run: Включает данные, обрабатываемые и хранимые в оперативной памяти, такие как PID процессов и информация о ходе их выполнения.
🔵/sbin: Содержит исполняемые бинарные файлы системных служб, запуск которых возможен только с правами администратора. Является символьной ссылкой на /usr/sbin.
🔵/srv: Предназначена для общедоступных данных службы, таких как веб-сервер или FTP-сервер. По умолчанию не содержит данных.
🔵/sys: Содержит виртуальную файловую систему, в которую экспортируются данные ядра операционной системы и его модулей.
🔵/tmp: Используется для хранения временных файлов операционной системой и службами.
🔵/usr: Хранит исполняемые файлы, библиотеки и файлы документации для внутренних служб, а также данные программ, установленных пользователями. /bin, /sbin, /lib и /lib64 являются символьными ссылками на соответствующие каталоги внутри /usr.
🔵/var: Содержит часто изменяемые данные, такие как кэши, логи, очереди. Тут хранятся данные сайтов, баз данных, почтового сервера и др.
Эта файловая структура помогает упорядочить данные и облегчает навигацию и управление операционной системой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает интернет

Если вы полный ноль в интернет-технологиях, и хотите получить общее понимание Интернета, прочитав всего одну статью, то эта статья — для вас.

Здесь вы узнаете о 4 уровнях модели TCP/IP. О том, что такое MAC‑адрес и IP-адрес, и зачем нам 2 типа цифровых адресов. Как работает DNS. Зачем нужны коммутаторы и роутеры. Как работает NAT. Как устанавливается защищённое соединение. Что такое инфраструктура открытых ключей, и зачем нужны TLS-сертификаты. Чем отличаются три версии протокола HTTP. Как происходит HTTP-аутентификация. И в конце будет несколько слов о VPN.
📌Совет по Linux

Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду time.

Вот синтаксис:

$ time <команда>.

Пример:
$ time find / -perm -u=s -type f &>/dev/null

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

Несколько лет назад я занимался биоинформатикой и был поражен тем, как однокомандные bash-команды могут быть намного быстрее, чем мои скучные скрипты. Учеба командам командной строки и написание скриптов помогло мне сэкономить много времени. В последние годы я занимаюсь облачными вычислениями и продолжаю записывать полезные команды здесь. Не все из них однострочные, но я стараюсь делать их краткими и быстрыми. В основном я использую Ubuntu, Amazon Linux, RedHat, Linux Mint, Mac и CentOS, прошу прощения, если команды не работают на вашей системе.

Этот блог будет посвящен простым bash-командам для парсинга данных и обслуживания систем Linux, которые я приобрел на работе и при сдаче экзамена LPIC. Прошу прощения за отсутствие подробных источников для всех команд, но, вероятно, они взяты из любимого Google и Stack Overflow.

Примеры:

Случайная генерация пароля (например, сгенерировать 5 паролей длиной по 13 символов каждый)
sudo apt install pwgen
pwgen 13 5
#sahcahS9dah4a xieXaiJaey7xa UuMeo0ma7eic9 Ahpah9see3zai acerae7Huigh7


Случайный выбор 100 строк из файла
shuf -n 100 filename

Случайный порядок (лотерея)
for i in a b c d e; do echo $i; done | shuf

Вывести серию случайных чисел в диапазоне (например, перемешать числа от 0 до 100, затем случайным образом выбрать 15 из них)
shuf -i 0-100 -n 15

Случайное число от 1 до 10
echo $(((RANDOM %10)+1))
Bash-скрипт для выполнения дампа всех баз данных MySQL, используемых на сервере

1- Для запуска скрипта необходимо дать права на исполнение скрипту командой chmod +x dump_all_databases.sh.
2- Запустить скрипт выполнив одну из следующих команд:

./dump_all_databases.sh
sh dump_all_databases.sh
bash dump_all_databases.sh


3- Дождататься, когда выполниться процесс. Дампы будут сохранены в формате YYYYMMDD.name_db.sql.

#!/usr/bin/env bash

databases=`mysql -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`

for db in $databases; do
if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then
echo "Dumping database: $db"
mysqldump --databases $db > `date +%Y%m%d`.$db.sql
# gzip $OUTPUT/`date +%Y%m%d`.$db.sql
fi
done
API-аналитик трафика для Kubernetes, обеспечивающий видимость на уровне протоколов K8s в реальном времени, захватывающий и отслеживающий весь трафик и полезную нагрузку, проходящие в, из и между контейнерами, подами, узлами и кластерами. Вдохновленный Wireshark, специально разработан для Kubernetes.
Совет по Linux 💡

Найдите все нерабочие символьные ссылки в вашей системе с помощью:


find . -xtype l
PowerShell скрипты для сбора информации о компьютерах


Собираем сведения о рабочих столах локального компьютера
Get-CimInstance -ClassName Win32_Desktop

Вывод сведений о BIOS
Get-CimInstance -ClassName Win32_BIOS

Вывод сведений о процессоре
Get-CimInstance -ClassName Win32_Processor | Select-Object -ExcludeProperty "CIM*"

Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property SystemType

SystemType
----------
X86-based PC


Получить данные поставщика вычислительной техники (OEM)
Get-CimInstance -ClassName Win32_ComputerSystem

Список установленных исправлений
Get-CimInstance -ClassName Win32_QuickFixEngineering

Перечисление сведений о версии операционной системы
Get-CimInstance -ClassName Win32_OperatingSystem |
Select-Object -Property BuildNumber,BuildType,OSType,ServicePackMajorVersion,ServicePackMinorVersion


Общие сведения о локальных пользователях
Get-CimInstance -ClassName Win32_OperatingSystem |
Select-Object -Property NumberOfLicensedUsers, NumberOfUsers, RegisteredUse
...
Media is too big
VIEW IN TELEGRAM
Это одна из моих любимых команд Cisco, которая сэкономила мне столько времени. Вы можете удаленно проверить Ethernet-кабель, чтобы выяснить, есть ли с ним физическая проблема или нет, избавляя себя от необходимости ехать на объект и проверять кабель вручную.
Управление сервисами systemd через утилиту systemctl

systemctl start name.service – запуск сервиса.
systemctl stop name.service — остановка сервиса
systemctl restart name.service — перезапуск сервиса
systemctl try-restart name.service — перезапуск сервиса только, если он запущен
systemctl reload name.service — перезагрузка конфигурации сервиса
systemctl status name.service — проверка, запущен ли сервис с детальным выводом состояния сервиса
systemctl is-active name.service — проверка, запущен ли сервис с простым ответом: active или inactive
systemctl list-units --type service --all – отображение статуса всех сервисов
systemctl enable name.service – активирует сервис (позволяет стартовать во время запуска системы)
systemctl disable name.service – деактивирует сервис
systemctl reenable name.service – деактивирует сервис и сразу активирует его
systemctl is–enabled name.service – проверяет, активирован ли сервис
systemctl list-unit-files --type service – отображает все сервисы и проверяет, какие из них активированы
systemctl mask name.service – заменяет файл сервиса симлинком на /dev/null, делая юнит недоступным для systemd
systemctl unmask name.service – возвращает файл сервиса, делая юнит доступным для systemd
👩‍💻 Шпаргалка по PowerShell / Краткий справочник

https://gist.github.com/pcgeek86/336e08d1a09e3dd1a8f0a30a9fe61c8a
Please open Telegram to view this post
VIEW IN TELEGRAM