📝Установка двух экземпляров WordPress на Apache 2
👉В этой статье я покажу как установить несколько экземпляров WordPress на физический или виртуальный сервер Debian 13. А в качестве web-сервера будем использовать Apache 2.
👉Перед разворачиванием боевого WordPress, хочется с ним познакомится поближе. Для этого его можно развернуть у себя на виртуалке или на физическом сервере. В этой статье я показываю, как можно установить 2 экземпляра WordPress на одном сервере Debian 13. Например, на первом можно изучать создание Интернет Магазина, а на втором создание Личного Блога. По аналогии вы можете создать третий и четвертый экземпляр.
👉В этой статье я покажу как установить несколько экземпляров WordPress на физический или виртуальный сервер Debian 13. А в качестве web-сервера будем использовать Apache 2.
👉Перед разворачиванием боевого WordPress, хочется с ним познакомится поближе. Для этого его можно развернуть у себя на виртуалке или на физическом сервере. В этой статье я показываю, как можно установить 2 экземпляра WordPress на одном сервере Debian 13. Например, на первом можно изучать создание Интернет Магазина, а на втором создание Личного Блога. По аналогии вы можете создать третий и четвертый экземпляр.
👍7
📝Установка двух экземпляров WordPress на Nginx
👉В предыдущей статье я описал установку двух экземпляров WordPress на Apache2. В этой всё тоже самое, установка на Debian 13, но вместо Apache 2 будем использовать Nginx.
👉В предыдущей статье я описал установку двух экземпляров WordPress на Apache2. В этой всё тоже самое, установка на Debian 13, но вместо Apache 2 будем использовать Nginx.
👍5
📝Недавно писал статью про Cloud-Init в Proxmox VE - https://sysadminium.ru/pve-template-and-cloud-init/
👉При работе с шаблонами Debian 13 столкнулся с проблемой: cloud image использует Netplan и systemd-networkd, а DHCP-клиент там по умолчанию идентифицируется не по MAC, а по DUID, который генерируется на основе
👉При клонировании виртуальной машины Proxmox VE меняет MAC, но machine-id у клонов остаётся одинаковым. В результате DHCP-сервер выдаёт всем клонам один и тот же IP-адрес.
👉Сначала я попробовал удалять:
💡Решение — заставить DHCP-клиент использовать MAC вместо DUID. Для этого в
Перед превращением VM в шаблон выполнил:
После этого каждый клон начал получать свой IP.
👉При работе с шаблонами Debian 13 столкнулся с проблемой: cloud image использует Netplan и systemd-networkd, а DHCP-клиент там по умолчанию идентифицируется не по MAC, а по DUID, который генерируется на основе
/etc/machine-id.👉При клонировании виртуальной машины Proxmox VE меняет MAC, но machine-id у клонов остаётся одинаковым. В результате DHCP-сервер выдаёт всем клонам один и тот же IP-адрес.
👉Сначала я попробовал удалять:
/etc/machine-id и /var/lib/dbus/machine-id. Но сеть стартовала раньше, чем systemd успевал создать новый machine-id, и VM вообще не получала IP.💡Решение — заставить DHCP-клиент использовать MAC вместо DUID. Для этого в
/etc/netplan/50-cloud-init.yaml нужно добавить - dhcp-identifier: mac.network:
version: 2
ethernets:
eth0:
match:
macaddress: "bc:24:11:df:93:17"
dhcp4: true
dhcp-identifier: mac
set-name: "eth0"
Перед превращением VM в шаблон выполнил:
cloud-init clean --logs
truncate -s 0 /etc/machine-id
shutdown -h now
После этого каждый клон начал получать свой IP.
👍10
📝Fwknop - современный port knocking для Linux
👉fwknop реализует схему авторизации, известную как Single Packet Authorization (SPA), для надежной защиты сервисов. Для авторизации SPA требуется всего один зашифрованный пакет, который невозможно воспроизвести повторно и который проходит аутентификацию с помощью HMAC.
👉fwknop реализует схему авторизации, известную как Single Packet Authorization (SPA), для надежной защиты сервисов. Для авторизации SPA требуется всего один зашифрованный пакет, который невозможно воспроизвести повторно и который проходит аутентификацию с помощью HMAC.
👍5
👉Любая информационная система, будь то домашний NAS, корпоративный Active Directory или облачная инфраструктура, ежедневно отвечает на два простых вопроса: «Кто вы?» и «Что вам разрешено делать?». За этими вопросами стоит - контроль доступа.
👉Можно выделить 3 слоя в безопасности систем:
- Разграничение сети - подсети, VLAN и файрволлы создают периметры безопасности.
- Шифрование - позволяет защитить данные от кражи.
- Контроль доступа - это механизмы аутентификации, авторизации и аудита действий пользователей.
👉Контроль доступа важен не только для безопасности, но и для бизнеса. Правильно настроенные права напрямую влияют на работу компании, ускоряя доступ к нужным сервисам и снижая риск выполнения запрещённых действий обычными пользователями или злоумышленниками.
👉Можно выделить 3 слоя в безопасности систем:
- Разграничение сети - подсети, VLAN и файрволлы создают периметры безопасности.
- Шифрование - позволяет защитить данные от кражи.
- Контроль доступа - это механизмы аутентификации, авторизации и аудита действий пользователей.
👉Контроль доступа важен не только для безопасности, но и для бизнеса. Правильно настроенные права напрямую влияют на работу компании, ускоряя доступ к нужным сервисам и снижая риск выполнения запрещённых действий обычными пользователями или злоумышленниками.
Sysadminium
Аутентификация, авторизация и MFA
В этой статье разбираем основы контроля доступа, чётко разделим аутентификацию и авторизацию. Разберём многофакторную аутентификацию (MFA), подробно рассмотрим TOTP как второй фактор и сравним другие методы MFA.
👍5
🐧 Не редактируй системные юниты (systemd) напрямую!
Файлы в
✅ Правильный подход:
Команда создаст drop-in файл
🔧 Важный нюанс:
При переопределении ExecStart, ExecReload или ExecStop сначала сбросьте значение пустой строкой, иначе новые команды добавятся к старым:
🛡 Полезные команды:
-
-
-
💡 Метод официален, безопасен при обновлениях и работает в Debian 13 из коробки. Сохраняйте в закладки.
Файлы в
/usr/lib/systemd/system/ (поставляемые пакетами) перезаписываются при apt upgrade, а ручное копирование в /etc/systemd/system/ ломает прозрачность обновлений.✅ Правильный подход:
sudo systemctl edit <сервис>
Команда создаст drop-in файл
override.conf в /etc/systemd/system/<имя>.d/. Пишите только те директивы, которые нужно изменить.🔧 Важный нюанс:
При переопределении ExecStart, ExecReload или ExecStop сначала сбросьте значение пустой строкой, иначе новые команды добавятся к старым:
ExecStart=
ExecStart=<новая команда>
🛡 Полезные команды:
-
systemctl cat <сервис> — увидеть итоговый конфиг-
sudo systemctl revert <сервис> — мгновенно откатить все правки-
sudo systemctl daemon-reload && sudo systemctl restart <сервис> — применить💡 Метод официален, безопасен при обновлениях и работает в Debian 13 из коробки. Сохраняйте в закладки.
👍7
⚡️ Как быстро проверить реальные права доступа в Windows
Знакомая ситуация? 👤
Пользователь в нужной группе, права вроде выданы, а доступа всё равно нет.
Обычно проблема в том, что Windows проверяет сразу 2 уровня прав:
🔹 Share permissions — права SMB-шары
🔹 NTFS permissions — права файловой системы
👉 Итоговый доступ = пересечение обоих наборов прав.
Если где-то есть ограничение — пользователь его получит.
👇Продолжение
Знакомая ситуация? 👤
Пользователь в нужной группе, права вроде выданы, а доступа всё равно нет.
Обычно проблема в том, что Windows проверяет сразу 2 уровня прав:
🔹 Share permissions — права SMB-шары
🔹 NTFS permissions — права файловой системы
👉 Итоговый доступ = пересечение обоих наборов прав.
Если где-то есть ограничение — пользователь его получит.
👇Продолжение
👍3
☝️Начало
🔍 Как проверить Effective Access
🖱 Через GUI:
Свойства папки → Безопасность → Дополнительно → Действующие права доступа → Выбрать пользователя
✅ Windows покажет итоговые права с учётом:
• групп
• наследования
• явных Deny
💻 Через PowerShell
📌 Список SMB-шар:
📌 Права на SMB-шару:
📌 NTFS-права:
💡 Многие админы делают так:
🔹 Share permissions → всем дают Full Control
🔹 Всё разграничение — только через NTFS
Это спорная практика, но у неё есть плюсы:
✅ меньше путаницы
✅ проще аудит
✅ удобнее автоматизация
🚨 Если доступ не работает — проверьте:
✔️ Пользователь точно в нужной группе?
✔️ Нет ли явного Deny? (Deny всегда приоритетнее Allow)
✔️ Пользователь перелогинился после изменения групп?
✔️ Доступен ли SMB-сервер?
✔️ Нет ли старых SMB-сессий?
🔖 Сохраните — пригодится во время инцидента.
🔍 Как проверить Effective Access
🖱 Через GUI:
Свойства папки → Безопасность → Дополнительно → Действующие права доступа → Выбрать пользователя
✅ Windows покажет итоговые права с учётом:
• групп
• наследования
• явных Deny
💻 Через PowerShell
📌 Список SMB-шар:
Get-SmbShare
📌 Права на SMB-шару:
Invoke-Command -ComputerName <имя сервера> {
Get-SmbShareAccess -Name "<имя шары>"
}📌 NTFS-права:
icacls "U:\example\Ivanov"
💡 Многие админы делают так:
🔹 Share permissions → всем дают Full Control
🔹 Всё разграничение — только через NTFS
Это спорная практика, но у неё есть плюсы:
✅ меньше путаницы
✅ проще аудит
✅ удобнее автоматизация
🚨 Если доступ не работает — проверьте:
✔️ Пользователь точно в нужной группе?
✔️ Нет ли явного Deny? (Deny всегда приоритетнее Allow)
✔️ Пользователь перелогинился после изменения групп?
✔️ Доступен ли SMB-сервер?
Test-NetConnection server -Port 445
✔️ Нет ли старых SMB-сессий?
net use * /delete
🔖 Сохраните — пригодится во время инцидента.
👍7
Sysadminium
Кеширующее зеркало репозитория для python — DevPi
В статье я расскажу, как можно устанавливать пакеты для python с помощью pip, если на этом сервере нет интернета. Поможет нам в этом DevPI.
Продолжаю переносить статьи со старого сайта на новый. Эта статья за апрель 2022.
Если вам нужен локальный репозиторий для внутренних пакетов — DevPI спасет ситуацию, ускоряя CI/CD.
Как это работает:
1️⃣ Вы поднимаете локальный сервер DevPI (кэширующее зеркало PyPI).
2️⃣ Настраиваете pip так, чтобы он тянул модули не напрямую из интернета, а с вашего локального сервера.
3️⃣ Если нужного пакета нет в локальном кэше, DevPI сам скачает его с PyPI, сохранит у себя и отдаст вам.
Итог: Все последующие установки проходят мгновенно с локального сервера, а вы меньше зависите от доступности внешнего PyPI.
Если вам нужен локальный репозиторий для внутренних пакетов — DevPI спасет ситуацию, ускоряя CI/CD.
Как это работает:
1️⃣ Вы поднимаете локальный сервер DevPI (кэширующее зеркало PyPI).
2️⃣ Настраиваете pip так, чтобы он тянул модули не напрямую из интернета, а с вашего локального сервера.
3️⃣ Если нужного пакета нет в локальном кэше, DevPI сам скачает его с PyPI, сохранит у себя и отдаст вам.
Итог: Все последующие установки проходят мгновенно с локального сервера, а вы меньше зависите от доступности внешнего PyPI.
👍3
Sysadminium
MIkrotik. OSPF на примере 4 роутеров
В этой статье мы будем использовать MIkroTik с RouterOS версии 7.2 для изучения протокола динамической маршрутизации OSPF.
👋 Продолжаю переносить статьи со старого сайта на новый! На очереди материал за июнь 2022 года.
В этот раз разбираем настройку OSPF на четырёх роутерах. Чтобы охватить разные ситуации, я подготовил сразу два примера:
1️⃣ Через один свитч. Отличный вариант, если нужно быстро развернуть тестовый стенд и отработать базу.
2️⃣ Поверх VPN. А вот это уже более жизненный и практичный кейс, приближенный к реалиям.
В этот раз разбираем настройку OSPF на четырёх роутерах. Чтобы охватить разные ситуации, я подготовил сразу два примера:
1️⃣ Через один свитч. Отличный вариант, если нужно быстро развернуть тестовый стенд и отработать базу.
2️⃣ Поверх VPN. А вот это уже более жизненный и практичный кейс, приближенный к реалиям.
👍3
Продолжаю переносить материалы на новый сайт и хочу поделиться с вами статьей о Load Average в Linux, изначально опубликованной в октябре 2022 года.
Материал получился действительно практичным. В статье подробно объясняется природа метрики, рассматриваются инструменты мониторинга и даются рекомендации по её анализу.
Материал получился действительно практичным. В статье подробно объясняется природа метрики, рассматриваются инструменты мониторинга и даются рекомендации по её анализу.
Sysadminium
Load average в Linux
Load average — показатель средней загруженности системы Linux. Из статьи вы узнаете что можно узнать о системе смотря на этот показатель.
👍9
Переделал одну из своих самых популярных статей — «Linux и оперативная память».
Первую версию я написал ещё в 2022 году, но за это время решил полностью её пересмотреть. Не просто исправил опечатки, а дополнил материал тем, чего тогда очень не хватало.
Теперь в статье разобраны:
✅что такое RSS и VSZ;
✅как устроены Page Cache, Dirty Pages и HugePages;
✅как Linux использует Swap;
✅что происходит при нехватке памяти;
✅как работают стратегии overcommit_memory;
✅что такое CommitLimit и Committed_AS;
✅как OOM Killer выбирает процесс для завершения и как можно повлиять на его решение.
Постарался объяснить всё простыми словами, но без упрощений, чтобы статья была полезна как начинающим, так и опытным Linux-администраторам.
Первую версию я написал ещё в 2022 году, но за это время решил полностью её пересмотреть. Не просто исправил опечатки, а дополнил материал тем, чего тогда очень не хватало.
Теперь в статье разобраны:
✅что такое RSS и VSZ;
✅как устроены Page Cache, Dirty Pages и HugePages;
✅как Linux использует Swap;
✅что происходит при нехватке памяти;
✅как работают стратегии overcommit_memory;
✅что такое CommitLimit и Committed_AS;
✅как OOM Killer выбирает процесс для завершения и как можно повлиять на его решение.
Постарался объяснить всё простыми словами, но без упрощений, чтобы статья была полезна как начинающим, так и опытным Linux-администраторам.
Sysadminium
Linux и оперативная память
В этой статье будет рассмотрена общая информация о том, как в Linux используется оперативная память. Разберём основные моменты и термины.
👍8
🔧 Почему возникает ошибка "Too many open files"? Чем отличается fs.file-max от nofile? Где задаются лимиты для пользователей, а где — для служб SystemD?
Подготовил большую статью о лимитах в Linux. Разобрал три уровня ограничений:
• системные (sysctl);
• пользовательские (limits.conf);
• для служб (SystemD).
Без сухого перечисления параметров — с объяснением, как они работают и в каких случаях их действительно приходится менять.
В статье также есть готовый Bash-скрипт, который помогает определить количество открытых файлов у процессов. Не раз выручал меня при диагностике серверов.
Подготовил большую статью о лимитах в Linux. Разобрал три уровня ограничений:
• системные (sysctl);
• пользовательские (limits.conf);
• для служб (SystemD).
Без сухого перечисления параметров — с объяснением, как они работают и в каких случаях их действительно приходится менять.
В статье также есть готовый Bash-скрипт, который помогает определить количество открытых файлов у процессов. Не раз выручал меня при диагностике серверов.
Sysadminium
Настраиваемые лимиты в Linux
В этой статье разбираемся с лимитами, которые можно задать в операционных системах на базе ядра Linux. Рассмотрим конфиги: sysctl.conf, limits.conf и system.conf.
👍5
👀Я продолжаю переносить статьи со старого на новый сайт, уже перенёс 57% материала.
👉Эта статья за апрель 2023 года.
Иногда требуется выяснить причину перезагрузки Windows сервера, который не должен был перезагружаться, но всё же сделал это.
👉Эта статья за апрель 2023 года.
Иногда требуется выяснить причину перезагрузки Windows сервера, который не должен был перезагружаться, но всё же сделал это.
Sysadminium
Узнаём причину перезагрузки Windows
Иногда требуется выяснить причину перезагрузки Windows сервера, который не должен был перезагружаться, но всё же сделал это.
👍6
📝Выбор диска для GRUB при обновлении Debian на VPS/VDS
После приобретения виртуального сервера VPS/VDS с Linux, например с Debian 13, вам нужно провести некоторые стандартные действия:
👉Обновить сервер (
👉Настроить файрвол (например, UFW).
👉Настроить доступ по SSH-ключу (и отключить вход по паролю).
👉А затем уже устанавливать и настраивать необходимое приложение.
⚠️ Частая проблема при обновлении.
Во время первого обновления система (пакет grub-pc) спрашивает: установить загрузчик GRUB на
✅Выбирайте
💡 Почему так?
В классической схеме загрузки (BIOS/MBR) GRUB записывается в MBR (Master Boot Record) — это первые 512 байт всего диска.
/dev/sda1 — это уже первый раздел. Установка GRUB на раздел нужна только в редких специфичных случаях (например, при chain-loading), которые на стандартном VPS не встречаются.
После приобретения виртуального сервера VPS/VDS с Linux, например с Debian 13, вам нужно провести некоторые стандартные действия:
👉Обновить сервер (
apt update && apt upgrade).👉Настроить файрвол (например, UFW).
👉Настроить доступ по SSH-ключу (и отключить вход по паролю).
👉А затем уже устанавливать и настраивать необходимое приложение.
⚠️ Частая проблема при обновлении.
Во время первого обновления система (пакет grub-pc) спрашивает: установить загрузчик GRUB на
/dev/sda или на /dev/sda1?✅Выбирайте
/dev/sda (весь диск целиком, без номера раздела).💡 Почему так?
В классической схеме загрузки (BIOS/MBR) GRUB записывается в MBR (Master Boot Record) — это первые 512 байт всего диска.
/dev/sda1 — это уже первый раздел. Установка GRUB на раздел нужна только в редких специфичных случаях (например, при chain-loading), которые на стандартном VPS не встречаются.
👍7
💬У меня в обслуживании много Proxmox VE серверов. Чаще всего сеть настроена в виде бонда:
👉active-backup - резервируем подключение дополнительным кабелем;
👉LACP (802.3ad) - резервируем и балансируем нагрузку между кабелями.
На одном из серверов стояла задача: поменять тип бонда с active-backup на LACP. И дополнительно поменять сетевые интерфейсы:
👉active-backup - был 10G + 1G;
👉LACP - нужно 10G + 10G.
Я выбрал нужные интерфейсы и режим бонда в web-интерфейсе, нажал Apply. Переподключил кабели в подготовленный LACP-лаг на коммутаторе. Сеть не заработала. 🤔
Проверил конфиг:
Проверил бонд:
Помогла команда
👉active-backup - резервируем подключение дополнительным кабелем;
👉LACP (802.3ad) - резервируем и балансируем нагрузку между кабелями.
На одном из серверов стояла задача: поменять тип бонда с active-backup на LACP. И дополнительно поменять сетевые интерфейсы:
👉active-backup - был 10G + 1G;
👉LACP - нужно 10G + 10G.
Я выбрал нужные интерфейсы и режим бонда в web-интерфейсе, нажал Apply. Переподключил кабели в подготовленный LACP-лаг на коммутаторе. Сеть не заработала. 🤔
Проверил конфиг:
/etc/network/interfaces - всё верно✅.Проверил бонд:
/proc/net/bonding/bond0 - остался active-backup. ⚠️Помогла команда
ifreload -a. Она по сути и вызывается кнопкой Apply. Видимо, при смене типа бонда UI сработал не до конца: конфиг заменил, но ядро не пересоздало интерфейс.😊1👍8
🐧 Аналог Windows
Если вы переезжаете с Windows или просто забыли, чем трассировать маршрут в Linux, вот 3 главных инструмента.👇
1️⃣ Прямой аналог -
Установка :
Пример работы:
❗️По умолчанию шлёт UDP. Для ICMP (как в Windows) добавьте ключ
2️⃣ Более простой -
Обычно предустановлен и не требует root.
Пример работы:
3️⃣ Более продвинутый -
Установка:
Использование:
Можно выполнить
tracert в LinuxЕсли вы переезжаете с Windows или просто забыли, чем трассировать маршрут в Linux, вот 3 главных инструмента.👇
1️⃣ Прямой аналог -
traceroute. Установка :
sudo apt install tracerouteПример работы:
traceroute example.com ❗️По умолчанию шлёт UDP. Для ICMP (как в Windows) добавьте ключ
-I и используйте sudo.2️⃣ Более простой -
tracepath Обычно предустановлен и не требует root.
Пример работы:
tracepath example.com3️⃣ Более продвинутый -
mtr Установка:
sudo apt install mtrИспользование:
mtr example.comМожно выполнить
mtr -c 10 example.com - для 10 циклов и автоматического выхода. Объединяет возможности ping и traceroute в реальном времени. Сразу видно, на каком именно хопе начинаются задержки или потери пакетов.👍5
📝Когда вы и коллеги подключаетесь к разным Linux-серверам, используя SSH-ключи, вы можете выбрать разные стратегии работы с ними:
✅ Один сотрудник — многие серверы. У каждого сотрудника один свой ключ для всех серверов. На серверах в
🚫 Один сервер — один ключ на всех. Для каждого сервера существует одна пара ключей, и все сотрудники используют один и тот же приватный ключ для подключения. Грубая ошибка безопасности — эквивалент одного пароля на всех. Если коллега уволится, придётся генерировать новую пару ключей и раздавать приватный ключ оставшимся коллегам.
⚠️ Каждой паре «сотрудник–сервер» — свой ключ. Самый безопасный вариант, но адский менеджмент. На практике применяется не для людей, а для автоматизации: CI/CD-пайплайны, Ansible, скрипты.
✅ Один сотрудник — многие серверы. У каждого сотрудника один свой ключ для всех серверов. На серверах в
authorized_keys прописаны публичные ключи каждого сотрудника. Самый распространённый подход в индустрии. Удобно и безопасно: не нужно плодить кучу ключей, а при увольнении достаточно удалить ключ сотрудника со всех серверов.🚫 Один сервер — один ключ на всех. Для каждого сервера существует одна пара ключей, и все сотрудники используют один и тот же приватный ключ для подключения. Грубая ошибка безопасности — эквивалент одного пароля на всех. Если коллега уволится, придётся генерировать новую пару ключей и раздавать приватный ключ оставшимся коллегам.
⚠️ Каждой паре «сотрудник–сервер» — свой ключ. Самый безопасный вариант, но адский менеджмент. На практике применяется не для людей, а для автоматизации: CI/CD-пайплайны, Ansible, скрипты.
👍5
🧵 В продолжение темы SSH и подключений по ключам (Windows Powershell).
Чтобы повысить безопасность хранения SSH-ключей, при их генерации удобно задать пароль:
💡 Имя ключа (id_ed25519) можно изменить на своё.
💡 У меня пользователь user, у вас путь может отличаться.
Смотрим открытый ключ:
Его передаём на сервер:
Теперь при подключении к серверу вы вводите пароль от ключа. Он не передаётся по сети, что повышает безопасность.
🤖 Чтобы не вводить пароль при каждом подключении, используем ssh-agent. На Windows его нужно один раз запустить с правами администратора:
Добавим ключ в агент:
Пароль хранится в памяти компьютера и очищается при перезагрузке.
Полезные команды:
🔹 Посмотреть добавленные ключи:
🔹 Очистить все добавленные ключи:
Чтобы повысить безопасность хранения SSH-ключей, при их генерации удобно задать пароль:
ssh-keygen -t ed25519 -f C:\Users\user\.ssh\id_ed25519
💡 Имя ключа (id_ed25519) можно изменить на своё.
💡 У меня пользователь user, у вас путь может отличаться.
Смотрим открытый ключ:
Get-Content C:\Users\user\.ssh\id_ed25519.pub
Его передаём на сервер:
~/.ssh/authorized_keys.Теперь при подключении к серверу вы вводите пароль от ключа. Он не передаётся по сети, что повышает безопасность.
🤖 Чтобы не вводить пароль при каждом подключении, используем ssh-agent. На Windows его нужно один раз запустить с правами администратора:
Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent
Добавим ключ в агент:
ssh-add C:\Users\user\.ssh\id_ed25519
Пароль хранится в памяти компьютера и очищается при перезагрузке.
Полезные команды:
🔹 Посмотреть добавленные ключи:
ssh-add -l🔹 Очистить все добавленные ключи:
ssh-add -D👍9
🗓Статься от 27.09.2023 про утилиту psping.
Эта утилита позволяет:
🔹Выполнять ping по определённому tcp порту.
🔹Сделать анализ и построить гистограмму.
🔹Протестировать латентность и скорость соединения между двумя серверами.
Она входит в состав пакета PsTools от Марка Руссиновича.
💡Пример использования:
Эта утилита позволяет:
🔹Выполнять ping по определённому tcp порту.
🔹Сделать анализ и построить гистограмму.
🔹Протестировать латентность и скорость соединения между двумя серверами.
Она входит в состав пакета PsTools от Марка Руссиновича.
💡Пример использования:
psping.exe yandex.ru:443
Sysadminium
Утилита Psping
Утилита psping входит в состав пакета PsTools от Марка Руссиновича. Она позволяет выполнять ping по определённому tcp порту.
🚀 Bash-скрипты без создания файлов: метод Heredoc
В инструкциях можно встретить длинные блоки кода, которые целиком можно скопировать и вставить в терминал, и всё выполнится.
Этот способ называется Here-document (или Heredoc). Конструкция
Кавычки вокруг
В таком скрипте часто используют:
⭐️
⭐️
Пример:
В инструкциях можно встретить длинные блоки кода, которые целиком можно скопировать и вставить в терминал, и всё выполнится.
Этот способ называется Here-document (или Heredoc). Конструкция
bash <<'EOF' ... EOF позволяет передать многострочный текст напрямую в bash.Кавычки вокруг
'EOF' важны: они говорят оболочке не раскрыть переменные внутри блока до его передачи в bash. Это защищает от неожиданных ошибок при копировании.В таком скрипте часто используют:
⭐️
set -e - скрипт остановиться, если любая из команд завершится с ошибкой.⭐️
export DEBIAN_FRONTEND=noninteractive - переменная окружения для пакетного менеджера apt/dpkg. Она отключает интерактивные диалоги, всё становится молча и автоматически.Пример:
bash <<'EOF'
set -e
export DEBIAN_FRONTEND=noninteractive
apt-get update && apt-get dist-upgrade -y
apt-get install -y locales wget tzdata lbzip2 bash-completion
EOF
👍8