WebTTY: Доступ по SSH через браузер, даже там, где порт закрыт
Как мы с вами знаем, SSH — надежный и безопасный протокол для удаленного управления системами, который у многих является неотъемлемой частью работы. Однако, что делать, когда стандартные порты SSH заблокированы или закрыты, например, в строго защищенных корпоративных сетях или в облачных средах с жесткой политикой безопасности? Или что делать, если под рукой есть только браузер и нет возможности использовать обычный терминал? Или вам вживую нужно смотреть/управлять сессией?
Одним из таких решений является WebTTY — инструмент, который обеспечивает доступ к терминалу удаленного сервера через веб-браузер, используя технологию WebRTC и веб-технологии для создания безопасного и зашифрованного соединения. Это решение позволяет обойти ограничения, такие как заблокированные стандартные SSH-порты, и предоставляет простой и удобный способ взаимодействия с командной строкой сервера без необходимости открытия дополнительных портов, что особенно полезно в средах с жесткими сетевыми ограничениями или за фаерволами.
В этой статье мы рассмотрим, как 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.
Если вы полный ноль в интернет-технологиях, и хотите получить общее понимание Интернета, прочитав всего одну статью, то эта статья — для вас.
Здесь вы узнаете о 4 уровнях модели TCP/IP. О том, что такое MAC‑адрес и IP-адрес, и зачем нам 2 типа цифровых адресов. Как работает DNS. Зачем нужны коммутаторы и роутеры. Как работает NAT. Как устанавливается защищённое соединение. Что такое инфраструктура открытых ключей, и зачем нужны TLS-сертификаты. Чем отличаются три версии протокола HTTP. Как происходит HTTP-аутентификация. И в конце будет несколько слов о VPN.
📌Совет по Linux
Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду time.
Вот синтаксис:
Пример:
Он также показывает использование системных ресурсов процесса, что делает его полезным инструментом для оценки эффективности конкретной команды.
Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду 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 символов каждый)
Случайный выбор 100 строк из файла
Случайный порядок (лотерея)
Вывести серию случайных чисел в диапазоне (например, перемешать числа от 0 до 100, затем случайным образом выбрать 15 из них)
Случайное число от 1 до 10
Несколько лет назад я занимался биоинформатикой и был поражен тем, как однокомандные 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- Для запуска скрипта необходимо дать права на исполнение скрипту командой
2- Запустить скрипт выполнив одну из следующих команд:
3- Дождататься, когда выполниться процесс. Дампы будут сохранены в формате
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 скрипты для сбора информации о компьютерах
Собираем сведения о рабочих столах локального компьютера
Вывод сведений о BIOS
Вывод сведений о процессоре
Получить данные поставщика вычислительной техники (OEM)
Список установленных исправлений
Перечисление сведений о версии операционной системы
Общие сведения о локальных пользователях
Собираем сведения о рабочих столах локального компьютера
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 или inactivesystemctl 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, делая юнит недоступным для systemdsystemctl unmask name.service
– возвращает файл сервиса, делая юнит доступным для systemdhttps://gist.github.com/pcgeek86/336e08d1a09e3dd1a8f0a30a9fe61c8a
Please open Telegram to view this post
VIEW IN TELEGRAM