[nginx] The following signatures were invalid

На Debian 11 (Bullseye) при обновлении списка пакетов через apt-get update получаем ошибку:

Err:6 http://nginx.org/packages/debian bullseye InRelease
The following signatures were invalid: EXPKEYSIG ABF5BD827BD9BF62 nginx signing key <signing-key@nginx.com>

Решение – загружаем новый ключ:

curl -O https://nginx.org/keys/nginx_signing.key && apt-key add ./nginx_signing.key

Активация Windows / Office (бесплатно и нелегально)

Какое-то время назад в интернете гулял ролик, где сотрудник службы поддержки Microsoft в качестве решения проблемы с активацией Windows у обратившегося пользователя, взял и активировал ее через massgrave.dev — по сути, веб-версия популярных KMS-активаторов.

А учитывая, что Microsoft больше официально не продает и не поддерживает свои продукты на территории РФ, то подобный способ активации — вполне себе достойная альтернатива покупки.

И так, что делаем:

1. В Windows 8.1/10/11 открываем меню, находим там PowerShell, через контекстное меню запускаем его с правами администратора
2. Вписываем irm https://massgrave.dev/get | iex и запускаем
3. Следуем дальнейшим инструкциям

С помощью данного метода можно в том числе активировать и Microsoft Office.

Команда host

Показ IP-адреса домена:

host ya.ru

ya.ru has address 77.88.55.242
ya.ru has address 5.255.255.242
ya.ru has IPv6 address 2a02:6b8::2:242
ya.ru mail is handled by 10 mx.yandex.ru.

Найти серверы доменных имен:

host -t ns ya.ru

ya.ru name server ns2.yandex.ru.
ya.ru name server ns1.yandex.ru.

Использование альтернативного сервера имен для запросов:

host ya.ru 8.8.8.8

Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:
ya.ru has address 77.88.55.242
ya.ru has address 5.255.255.242
ya.ru has IPv6 address 2a02:6b8::2:242
ya.ru mail is handled by 10 mx.yandex.ru.

Проверка SSL-сертификата у домена

Для проверки домена по эмитенту и сроку SSL-сертификата можно использовать следующую конструкцию:

echo | openssl s_client -connect ya.ru:443 -servername ya.ru 2>/dev/null | openssl x509 -noout -subject -issuer -dates

Выдаст:

subject= /C=RU/ST=Moscow/L=Moscow/O=Yandex LLC/CN=*.xn--d1acpjx3f.xn--p1ai
issuer= /C=BE/O=GlobalSign nv-sa/CN=GlobalSign ECC OV SSL CA 2018
notBefore=Aug 19 10:19:21 2022 GMT
notAfter=Feb 16 20:59:59 2023 GMT

Общая конструкция:

openssl s_client -connect ya.ru:433

Аналог команд whereis / which в Windows

В Windows 10/11 в качестве аналога команд whereis/which из *unix (выводят полный путь до местоположения исполняемого файла/команды/сценария) можно использовать следующую команду:

gcm <command>

Пример:

> gcm node
Command Type Name Version Source
----------- ---- ------- ------
Application node.exe 18.12.1.0 C:\webos_cli\bin\node.exe

[Docker] Команды по контейнерам

Список всех контейнеров:

sudo docker container ls --size
sudo docker ps -a

Размер контейнеров и volums:

sudo docker system df --verbose

Список всех образов:

sudo docker images

Информация об образе:

sudo docker inspect <image name>
sudo docker image history <image name>

Возвращает таблицу со списком идентификаторов, репозиториев и тегов для каждого образа контейнера:

sudo docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

Перезапуск контейнера:

sudo docker restart <container id>

Зайти в контейнер:

sudo docker exec -it <container id> bash

Просмотр сведений о сети (название выводится при создании контейнера):

sudo docker network inspect <network_name>

[Linux] Очистка лог-файлов

Логи по умолчанию хранятся в /var/logs. Узнать размер занимаемых данных:

/var/log# du -sh */ | sort -hr

800.1M journal/
6.2M atop/
1.7M nginx/
1.5M exim4/
344K apt/
124K mysql/
96K proftpd/
72K apache2/
8.0K installer/
4.0K unattended-upgrades/
4.0K ntpstats/
4.0K dbconfig-common/

К примеру, у меня директория journal занимает непозволительно много места. Сначала чиним:

urnalctl --vacuum-size=100M
journalctl --vacuum-time=7d

Затем очищаем:

rm -r /var/log/journal/

[macOS] Запуск веб-сервера одной командой

Чтобы поднять примитивный локальный веб-сервер на macOS, необязательно качать из сети сторонние решения (XAMPP, OpenServer…) — все что нужно, скорее всего, уже работает «из коробки».

Перейдите в директорию, которая будет являться корнем веб-сервера и выполните следующую команду:

Если установлен Python 2:

python -m SimpleHTTPServer 8000

Если установлен Python 3:

python3 -m http.server --cgi 8080

Если установлен PHP:

php -S localhost:2222

Сервер будет работать по адресу http://localhost:<порт>

Если установлен npm:

npm i -g serve
serve

Mikrotik — удаленный доступ через RDP

В офисе есть компьютер на ОС Windows. Сеть имеет «внешний» IP-адрес, используется роутер Mikrotik hAP ac².

Задача: необходимо получить к компьютеру доступ извне, через штатную утилиту «Удаленный рабочий стол».

Решение: заходим в панель управления Mikrotik, далее:

  1. В меню выбираем пункт IP -> Firewall
  2. Открываем вкладку NAT
  3. Создаем новое правило:
    1. Chain: dnsnat
    2. Src. Address: <внешний IP-адрес компьютера, с которого будем подключаться > (опционально, для защиты от вредителей)
    3. Protocol: (6) tcp
    4. Dst. Port: любая комбинация (к примеру, 14801)
    5. In. Interface: all ethernet
    6. Action: dns-nat
    7. To Address: <локальный IP-адрес компьютера, к которому будем подключаться >
    8. To Ports: 3389
  4. Сохраняем сделанные настройки
  5. Через «Удаленный рабочий стол» подключаемся к <внешний IP-адрес офисной сети>:<порт> Если все сделано правильно, то роутер направит данный запрос к нужному компьютеру.