Linux (@linuxchmod) — Telegram-канал | Telegram Dialogs
Все каналы
Linux

Linux

@linuxchmod

10.4K подписчиков технологии 💬 Комментарии открыты ✓ Зарегистрирован в РКН

Все для системного администратора, новости и информация из мира Linux По всем вопросам @evgenycarter

Последние публикации

Linux
17.07.2026 07:42 · 👁 129
Конвертация PFX в CRT и KEY Для ECDSA: openssl pkcs12 -in certificate_ECDSA.pfx -out certificate_ECDSA.key -nodes -nocerts openssl pkcs12 -in certificate_ECDSA.pfx -out certificate_ECDSA.crt -nokeys Если pfx запаролен, будет запрошен Import Password. Для RSA: openssl pkcs12 -in certificate_RSA.pfx -clcerts -nokeys -out certificate_RSA.crt openssl pkcs12 -in certificate_RSA.pfx -nocerts -out certificate_RSA-encrypted.key openssl rsa -in certificate_RSA-encrypted.key -out certificate_RSA.key Если pfx запаролен, будет запрошен Import Password. Ключ сперва сохраняется в зашифрованном виде, для этого требуется задать PEM pass, который затем нужно указать при расшифровке ключа. 👉 @linuxchmod
Linux
15.07.2026 07:36 · 👁 178
Простое копирование ssh ключей между серверами c использованием утилиты ssh-copy-id Традиционно администраторы решают задачу копирования ssh ключей между серверами путем копирования содержимого файла /root/.ssh/id_rsa.pub с сервера server1 на server2 в файл /root/.ssh/authorized_keys. Копируют обычно из одного терминала в другой, но есть более изящное решение — это использование утилиты ssh-copy-id, которая позволяет скопировать содержимое id_rsa.pub сервера источник (в нашем случае server1) на сервер приемник (server2) в нужный нам authorized_keys не открывая консоль сервера приемника (server2). Исходные данные: 2 сервера с Debian (server1 и server2). Задача: Организовать вход по ssh ключу с сервера server1 на server2 с правами root. Итак сделаем все по порядку: 1. Генерируем публичный открытый и закрытый ключи, под пользователем root на server1: ssh-keygen -t rsa Если на сервере уже есть эти ключи, то он выдаст предупреждение, где нужно будет либо подтвердить замену старых ключей либо отказаться. Мы создаем ключи впервые, поэтому предупреждения не будет, будет выведена примерно такая информация: Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): <-- ENTER Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): <-- ENTER Enter same passphrase again: <-- ENTER Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. Вы можете защитить приватный ключ паролем и тогда чтобы попасть на сервер server2 по ssh ключу нужно будет ввести этот пароль, я настоятельно рекомендую для доступа с уровнем root ввести пароль на приватный ключ. Ключи сгенерированы, мы можем проверить под пользователем root выполнив команду cat ~/.ssh/id_rsa.pub В ответ увидим примерно: ssh-rsa AAAAB3Nz.....ywWmpl root@server1 Теперь нужно передать публичный ключ id_rsa.pub пользователя root на server2, для этого на server1 выполняем: ssh-copy-id -i ~/.ssh/id_rsa.pub root@server2 Вводим пароль root от сервера server2 и ключ будет передан и записан в нужный файл authorized_keys Важное уточнение: Чтобы передать публичный ключ на server2 под root нужно чтобы пользователю root было разрешен вход по ssh на server2, обычно при базовой установке Debian/Ubuntu вход под root по ssh разрешен, это настраивается директивой PermitRootLogin в файле /etc/ssh/sshd_config PermitRootLogin yes — Вход под root по ssh разрешен. PermitRootLogin no — Вход под root по ssh запрещен. PermitRootLogin without-password — Вход под root по ssh разрешен только по ssh ключам. PermitRootLogin forced-commands-only — Вход под root по ssh разрешен только по ssh ключам и только для выполнения заранее определенной команды, сама команда прописывается в /root/.ssh/authorized_keys в формате: command="rsync" ssh-rsa AAAAB3N……. root@server2 После изменения PermitRootLogin не забудьте перезапустить службу sshd командой: service sshd restart 👉 @linuxchmod
Linux
14.07.2026 08:24 · 👁 220
Команды Linux: Пользователи и группы groupadd group_name — создать новую группу с именем group_name groupdel group_name — удалить группу group_name groupmod -n new_group_name old_group_name — переименовать группу old_group_name в new_group_name useradd -c "Nome Cognome" -g admin -d /home/user1 -s /bin/bash user1 — создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell'а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome useradd user1 — создать пользователя user1 userdel -r user1 — удалить пользователя user1 и его домашний каталог usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 — изменить атрибуты пользователя passwd — сменить пароль passwd user1 — сменить пароль пользователя user1 (только root) chage -E 2005-12-31 user1 — установить дату окончания действия учётной записи пользователя user1 pwck — проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow grpck — проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group newgrp [-] group_name — изменяет первичную группу текущего пользователя. Если указать «-», ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd 👉 @linuxchmod
Linux
13.07.2026 06:11 · 👁 204
Генерируем пароль в терминале Linux Будем использовать /dev/urandom и утилиты makepasswd, pwgen. Используем /dev/urandom При чтении устройство /dev/urandom возвращает бесконечный набор случайных байтов. Этот вывод можно отфильтровать с помощью утилиты tr. Затем, вывод передать команде xargs которая, по умолчанию выполняет команду echo и ей передается всё, что было прочитано из стандартного ввода. А с помощью утилиты head можно указать необходимое количество символов в пароле. То есть сгенерировать пароль в Linux поможет следующая команда: $ tr -dc A-Za-z0-9_ < /dev/urandom | head -c 10 | xargs AurTdatFbw Вы можете сделать bash функцию и записать её в ваш .bashrc: $ nano .bashrc genpasswd() { local l=$1 [ "$l" == "" ] && l=16 tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs } Затем применим изменения и попробуем сгенерировать пароль: $ . .bashrc ~$ genpasswd 5 Hbe7a $ genpasswd 10 PDbt1tjBg0 Используем makepasswd Утилита makepasswd может также помочь сгенерировать пароль в Linux. Она также использует /dev/urandom, чтобы создавать случайные пароли. Вы можете установить её с помощью apt: $ sudo apt install makepasswd Просто выполните эту команду без параметров чтобы получить случайный пароль: $ makepasswd 5q6m4jMHJ Можете указать количество символов в пароле с помощью опции chars и можете создать несколько паролей с помощью опции count: $ makepasswd --chars 4 --count 3 1d65 R5Xe Lhes Можно создать пароли и сразу вывести их зашифрованный хеш с помощью опции crypt-md5: $ makepasswd --chars 4 --count 3 --crypt-md5 DWBN $1$awZ5uNo/$r50RTWsihcMKEVQzoDyoZ1 xLN7 $1$h4ThtOu1$Bsmqhr/Tq/IIdGPtAVGda. A2R2 $1$bss49Rj7$y.9nAbyr749N.eYRUF155. Используем pwgen Утилита pwgen генерирует легко запоминаемые пароли. Но также можешь генерировать случайные пароли. Устанавливается она также, с помощью apt: $ sudo apt install pwgen Если выполнить её без опций, то вы увидите список из легко запоминаемых паролей: $ pwgen Xu6Phei7 Ree2ud9e ohphah8I iiZ8Efoo foG0moh3 aSho2neL Phero4Ud thiCh9ei uvaeChu0 eeCie5Um Wovie0do Eibuo3Ou Sai1Ovah po3OhT9j XeYei9ei eiQu2mai .... Вы можете указать количество необходимых паролей с помощью опции -N и указать количество символов в пароле с помощью опции -n: $ pwgen -N 3 -n 5 aeCo2 Le7oy uv6Oh Существует также опция -s чтобы создавать более сложные пароли (их сложнее запомнить и подобрать): $ pwgen -N 3 -n 5 -s fY60V y6FIU 9XEt4 Я не заметил разницу в использовании опции -s, но в инструкции написано, что без этой опции пароль легче подобрать. 👉 @linuxchmod
Linux
12.07.2026 06:04 · 👁 252
До / После 👉 @linuxchmod
Linux
11.07.2026 06:37 · 👁 301
Так выглядели 5 мегабайт компьютерных данных в 1966 году: 62 500 перфокарт! 👉 @linuxchmod
Linux
08.07.2026 06:20 · 👁 381
Протоколы семейства TCP/IP. Теория и практика В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур данных, передаваемых по сети, а при рассмотрении сетевого программирования основное внимание уделяют интернет-сокетам. Но при изучении и исследовании хочется большего, например, поэкспериментировать с пакетами сетевых протоколов. Многие сетевые протоколы реализованы в ядре операционной системы, и что-либо изменить может оказаться сложной задачей, так как это требует навыков в написании драйверов для операционной системы. Но использование специализированных библиотек позволяет работать с протоколами на низком уровне из пространства пользователя. В ходе работы над статьёй я написал небольшое приложение, которое послужит отправной точкой для понимания компьютерных сетей и семейства протоколов TCP/IP. С приложением можно экспериментировать, получая дополнительные знания. Приложение — простое и понятное и, надеюсь, упростит изучение материалов статьи. Ведь именно радость первой победы даёт мотивацию, достаточную для того, чтобы потратить гораздо больше времени на изучение темы. В статье изложены наиболее важные с моей точки зрения понятия, которые должен знать любой программист, хоть как-то сталкивающийся с компьютерными сетями. Так что без теоретических сведений не обошлось. Приложение доступно на GitHub. https://habr.com/ru/companies/ruvds/articles/759988/ 👉 @linuxchmod
Чат поддержки
Ответим здесь же, обычно быстро
Здравствуйте! Напишите ваш вопрос — оператор ответит в этом чате.