uz
Feedback
Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

Kanalga Telegram’da o‘tish

Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.ru

Ko'proq ko'rsatish

📈 Telegram kanali Bash Days | Linux | DevOps analitikasi

Bash Days | Linux | DevOps (@bashdays) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 23 794 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 5 701-o'rinni va Rossiya mintaqasida 28 128-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 23 794 obunachiga ega bo‘ldi.

17 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -202 ga, so‘nggi 24 soatda esa -5 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 21.91% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 12.48% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 5 213 marta ko‘riladi; birinchi sutkada odatda 2 971 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 21 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent bashdays, linux, bash, docker, скрипт kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...

Yuqori yangilanish chastotasi (oxirgi ma’lumot 18 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

23 794
Obunachilar
-524 soatlar
-277 kunlar
-20230 kunlar
Postlar arxiv
Kubernetes живёт своей жизнью, и обязательно ломается под конец рабочего дня? Значит пора повышать устойчивость, безопасность
Kubernetes живёт своей жизнью, и обязательно ломается под конец рабочего дня? Значит пора повышать устойчивость, безопасность и производительность ваших приложений не ломая кластеры и не роняя прод. 👉Набор на курс «Kubernetes Мега» идёт до 8 ноября За 7 недель вы научитесь: 🔸переносить продукт на платформу k8s 🔸разворачивать отказоустойчивые кластеры 🔸ускорять траблшуттинг 🔸повышать отказоустойчивость продукта 🔸разворачивать и обслуживать кластер с автоматической ротацией сертификатов, автодеплоем и правильным хранением секретов
Бонус к «Kubernetes Мега» 🔥Видеокурс «Kubernetes База» в подарок 100 000 ₽ (вместо 150000 ₽) Промокод на скидку — в боте. Ограниченное кол-во мест
ОБНОВИЛИ ВЕСЬ КУРС в сентябре 2024: ✅78 часов практики ✅7 встреч со спикерами Промокод и подробности курса — в боте 👈 Реклама ООО «Слёрм» ИНН 3652901451

там чет телега с комментами намутила и у последнего поста про ферзей кнопку не сделала, кто хотел высказаться, можете это сделать по кнопке ниже 👇

Я уже как-то говорил, что считаю awk недооцененным. Большинство примеров сводится к тому, чтобы убрать лишние колонки из отчета. А между тем, AWK, практически полноценный язык программирования. Сегодня я Вам это постараюсь показать. Будем решать задачу о расстановке 8 ферзей на шахматной доске, так, чтобы они не били друг-друга. Решать будем методом перебора. Ну, не полного перебора, немного включим голову. Напомню, ферзь бъет по вертикали, горизонтали, диагонали. Поэтому для начала расставим каждого ферзя на свою вертикаль и будем двигать, проверяя условия боя. Таких будет два - горизонталь и диагональ. Для удобства клеточки буду нумеровать с 0. Итого - получаем 10 вложенных циклов (8 двигают ферзей, 2 - проверка условий боя) ха, тут всего-то 8^8=16777216 вариантов.
#!/bin/bash
#8 ферзей

awk 'BEGIN{
  for(c[0]=8;c[0]--;){
    for(c[1]=8;c[1]--;){
      for(c[2]=8;c[2]--;){
        for(c[3]=8;c[3]--;){
          for(c[4]=8;c[4]--;){
            for(c[5]=8;c[5]--;){
              for(c[6]=8;c[6]--;){
                for(c[7]=8;c[7]--;){
                  b=1
                  for(i=0;i<7 && b;i++){
                    for(j=i+1;j<8;j++){
                      if(c[i]==c[j]){b=0;break}
                      a=c[i]-c[j];n=j-i
                      if(a==n || a==-n){b=0;break}}}
if(b){print c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7] }
}}}}}}}}
}'
Пояснения: c[i]==c[j]) - проверка на горизонталь. a=c[i]-c[j];n=j-i - проверка на диагональ. Вообщето-то тут должен быть abs(c[i]-c[j]), но в awk нет модуля, поэтому if(a==n || a==-n) Да, и в awk оператор break выходит из одного цикла, поэтому пришлось немного извращаться. (&& b), но задача решена. Примечание я знаю про алгоритмы пермутаций, но тут лобовое решение. Вариантов всего 92. Приведу последний: 04752613 Время выполнения на моем дохлом ноуте ~1.5 минуты. Продолжение следует... tags: #bash © by Tagd Tagd — 🔔 @bashdays➡️ @gitgate

Дарим страшно выгодный сервер от Serverspace🎃 Cоздайте сервер с любой конфигурацией c 28 октября до 3 ноября и получите возм
Дарим страшно выгодный сервер от Serverspace🎃 Cоздайте сервер с любой конфигурацией c 28 октября до 3 ноября и получите возможность выиграть бесплатную инфраструктуру в Serverspace на 12 месяцев! ▪️Удобная панель управления 🔸Процессоры Intel Xeon Gold ▪️ЦОДы на 4 континентах 🔸Высокий uptime ▪️24/7 поддержка Как стать участником розыгрыша? 1. Зарегистрируйтесь в панели управления Serverspace; 2. Создайте сервер с любой конфигурацией – выберите ЦОД, характеристики и нажмите «Создать сервер». 3. Хватайте приз! Получите письмо с информацией о вашем выигрыше на электронную почту. Подробную информация о хэллоуинском розыгрыше можно найти тут🎁 Serverspace - международный облачный провайдер, предлагающий автоматическое развертывание виртуальной инфраструктуры на базе Windows, Linux и российских ОС из любой точки мира менее чем за 1 минуту. Реклама ООО «ИТГЛОБАЛКОМ ЛАБС» ИНН 7841483359 Erid CQH36pWzJqDLvVfBSvfx7CrPipLP6EuU9SKCBdBrp8okc8

Здрасти. Как-то я писал про strace и как применять инъекции. Если пропустил, то читай тут и тут. Ниже скрипт который автоматически пронумерует системные вызовы для последующих инъекций.
#!/usr/bin/perl

use strict;
use warnings;

my %numbs;
select STDERR;
while(<STDIN>) {
    if( /^[0-9]++\s++([a-z0-9_]++(?=\())/ ) {
        my $t = ++$numbs{$1};
        s/\s+/ \e[31m$t\e[m /;  
        die $! if( keys %numbs == 1000 );
    }
    print;
}
exit(0);
Сохраняем это безобразие в файл num_syscalls и делаем chmod +x, ну а дальше запускаем в связке с strace:
strace -o'|./num_syscalls' -yf sh -c 'ls|cat'
Теперь получаем такой выхлоп:
456107 48 close(3</usr/) = 0
456107 52 rt_sigreturn({mask=[]}) 
456107 63 openat(AT_FDCWD</usr/local/sbin>)
456107 53 newfstatat(3)
456107 64 openat(AT_FDCWD</usr/local/sbin>)
Смотрим второй столбик, включаем логику и видим, что системные вызовы нумеруются. Например, возьмем системный вызов openat, видим 63, 64. Это значит что openat был вызван 64 раза. А newfstatat 53. Теперь берем нужный номер системного вызова и применяем инъекцию. Как это сделать и для чего, опять же показывал на примерах (ссылки в начале этого поста). Тема крутая, не нужно ебаться и считать руками. Весь вывод strace отправляется в stderr, чтобы иметь возможность разделять вывод трассировки и вывод исследуемой программы. А чтобы получить только трассировку, можно сделать так:
strace -o'|./num_syscalls' -yf ls > /dev/null
Если бесит подсветка, выпили из перловского скрипта управляющий символ «\e[31m\[em». Такие дела, изучай! tags: #linux #debug 🔔 @bashdays➡️ @gitgate

Анонсируем новый вебинар от экспертов МТС Web Services! 30 октября поговорим про облака в действии ☁️ Почему компании выбираю
Анонсируем новый вебинар от экспертов МТС Web Services! 30 октября поговорим про облака в действии ☁️ Почему компании выбирают облачные технологии для решения своих задач? Эксперты MWS расскажут, как облачные сервисы обеспечивают возможности для управления данными, а также покажут реальные облачные кейсы из ритейла и производства. 📌 Присоединяйтесь к онлайн-дискуссии — задавайте свои вопросы экспертам и узнайте, как облака на практике помогут решить ваши задачи. В программе: • Какие бывают облака • Компоненты инфраструктуры облачного провайдера • Виртуализация: типы и принципы работы • Облачные сервисы: IaaS, PaaS, DBaaS, SaaS • Отказоустойчивость облака • Преимущества перехода в облако • Примеры использования облачных технологии Встреча будет полезна как тем, кто только задумывается о переезде в облако, так и тем, кто уже использует облачные технологии и хочет задать вопросы эксперту. Зарегистрироваться и узнать все про облако Реклама. ПАО "МТС", ИНН: 7740000076.

Хелоу! А какую команду ты запускаешь первой, когда поднял linux сервак/десктоп (vps/vds, виртулка, бареметал и т.п.)? У меня руки на автомате вбивают: apt update && apt upgrade && apt install mc. Но несколько раз видел как люди первым делом отключали selinux и отправляли машину в ребут. А потом уже всё остальное. А как делаешь ты? Камон в комменты обсудим, интересно на твои паттерны посмотреть. tags: #linux #рабочиебудни — 🔔 @bashdays➡️ @gitgate

🎉 Приглашаем вас на вебинар по основам мониторинга Linux! 🎉 📅 Когда: 28 октября, 19:00 (мск) 🌐 Где: Онлайн (ссылка на веб
🎉 Приглашаем вас на вебинар по основам мониторинга Linux! 🎉 📅 Когда: 28 октября, 19:00 (мск) 🌐 Где: Онлайн (ссылка на вебинар будет предоставлена после регистрации) 👨‍🏫 Спикер: Николай Лавлинский Тема: "Основы мониторинга Linux" На занятии вы: - Разберете основные вопросы мониторинга системы. Узнайте, какие аспекты и метрики важно отслеживать для обеспечения стабильности и производительности. - Узнаете отличия между локальным и распределенным мониторингом. Поймете, какие подходы лучше подходят для различных сценариев использования. - Поймете, как запускать систему мониторинга. Получите рабочий пример визуализации метрик, который поможет вам лучше понять состояние вашей системы. Преимущества участия: На уроке вы не только теоретически погрузитесь в принципы использования утилит мониторинга, но и на практике запустите полноценную систему мониторинга. Это даст вам необходимые знания и уверенность для внедрения и управления мониторингом в вашей собственной среде. Мы ждем вас, чтобы вместе раскрыть потенциал мониторинга и сделать вашу систему более отзывчивой и надежной! 📌 Зарегистрируйтесь для участия: https://vk.cc/cD7MrW Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

A rom dom dom! Очередная «Пицца» подъехала! Первую успешно захавал Кирилл. Красавчик! Каждую неделю в рандомный момент я заки
A rom dom dom! Очередная «Пицца» подъехала! Первую успешно захавал Кирилл. Красавчик! Каждую неделю в рандомный момент я закидываю задачку. Кто первый напишет в комменты правильный ответ, тот получает 1000р на РФ карту. Коменты с ответами пишем к посту, а не в чатике. Поехали! Сегодня придется поковыряться.
1. Подсказки на картинке к посту 2. Точка входа https://pizza.bashdays.ru 3. Макс запросит у победителя шаги с решением
Удачи в поисках! PS: 🔥 Пицца разыграна, квест больше не актуален! Самый находчивый — Александр! Красавчик! #pizza

После пика Балмера обычно наступает перевал Дятлова. Привет ребят. Недавно я запилил пост — «Bash генератор OTP для 2FA» и бу
После пика Балмера обычно наступает перевал Дятлова. Привет ребят. Недавно я запилил пост — «Bash генератор OTP для 2FA» и буквально через день, случайно, обнаружил неведомую хуйню. Мой основной парольник это «Vaultwarden self-hosted». Пользуюсь я им очень давно, перепробовал кучу всего, платного и бесплатного, но Vaultwarden покорил моё сердечко. Про все его фичи писать не буду, ты сам всё прекрасно знаешь если пользуешь им. Короче, заводя очередной пароль от сервиса я случайно захуячил пароль в какое-то поле ТОТP (Ключ аутентификатора). Внимания не обратил, сохранил и пошел гулять во снах. А на следующий день открываю этот сохраненный пароль и вижу картину — бежит таймер и мне отображаются 6 цифер. Хм… Дак это же ебать генератор 2FA кодов!!! Встроенный в Vaultwarden! Включил 2FA в gitea, проверил, коды отлично подходят. Сука! Как говорится — век живи, век учись. Это как в айфоне или микрософт офисе. Ты используешь 1% от всего функционала который заложен в софтину, даже не задумываясь что внутри есть хуйни, которые ты пытаешься переизобрести. Пользуйтесь, если кто не знал…
ps: по секрету, сегодня залетит очередная пицца, не проеби!
tags: #utilites #security #рабочиебудни — 🔔 @bashdays➡️ @gitgate

Хотели бы присоединиться к проекту, который приносит пользу миллионам пользователей? 🚀 В Авито актуальна вакансия в команду,
Хотели бы присоединиться к проекту, который приносит пользу миллионам пользователей? 🚀 В Авито актуальна вакансия в команду, которая занимается разработкой продукта по управлению виртуальной инфраструктурой: 1️⃣ SRE инженер в команду Dev Также в поиске инженера команда инфраструктуры, которая обеспечивает весь фундамент Авито (от серверов до внутреннего облака): 2️⃣ Системный инженер HPC кластеров А ещё есть вакансия в команде, которая занимается развитием и администрированием систем, повышающих безопасность компании, на основе Infrastructure as Code подхода: 3️⃣ DevOps Engineer Вас будут ждать: – достойная зарплата, размер которой обсуждается на собеседовании; – прозрачная система премий; – интересные и важные задачи на очень большом проекте; – передовые технологии и подходы, возможность пробовать новое; – опытные и заинтересованные коллеги, готовые оказать поддержку; – мощное железо, дополнительные мониторы и всё, что нужно для продуктивной работы; – личный бюджет на обучение, который можно тратить на книги, курсы и конференции; – забота о здоровье: ДМС со стоматологией с первого дня, в офисе принимают терапевт и массажист; – возможность работать удалённо и по желанию посещать комфортный офис в Москве или Санкт-Петербурге. Скорее откликайтесь!

Дурень думкой богатеет. Смотрел я на логи ssh и думал, что же меня так раздражает. И понял, что меня достает не сама попытка перебора. За стойкость пароля/ключа я спокоен. Меня достает то количество мусора, которое я должен периодически просматривать. И у меня возникла идея. А почему бы не сделать, допустим двухлогинную систему. Прикиньте, для того, чтобы залогиниться нужно ввести 2 открытых логина. Но попытки перебора фиксировать только тогда, когда это представляет опасность, т.е. когда первый логин реален. Конечно попытки простой долбежки тоже нужно учитывать, но, возможно, не так подробно, а за неделю, день или час и общем количеством (интегрально) чтобы иметь представление об интенсивности атаки. Меня резкое снижение интенсивности атаки напрягает больше, чем ее повышение :-) Ну, или свести эти два логина к полуторалогинной системе. Когда логин длинный, и состоит из двух частей, например asdfbgroot, но попытки перебора фиксировать, когда совпадает первая часть. Кстати, из этого можно было бы извлечь и пользу. Если первые части для разных групп пользователей разные - сразу становится видна группа, из которой идет утечка. Может это и бред, а может кому-то пригодится. tags: #linux #security © by Tagd Tagd — 🔔 @bashdays➡️ @gitgate

РЕД ОС подходит для использования в гос. учреждениях, объектах КИ. Она востребована везде, где важен вопрос безопасности и са
РЕД ОС подходит для использования в гос. учреждениях, объектах КИ. Она востребована везде, где важен вопрос безопасности и санкционная устойчивость. 30 октября узнайте все о работе с дисками в РЕД ОС! Вместе с Никитой Климовым разберемся в темах: - Современная адресация дисков: Поймете, как эффективно управлять дисковым пространством. - Логические диски и их применение: Узнаете, где и как использовать логические диски для оптимизации работы. - Инструменты ОС для работы с дисками: Освоите полезные утилиты, такие как fdisk и lsblk. Используйте время с пользой, чтобы: 1️⃣ Получить практические знания, задать вопросы и получить конкретные решения для своих задач. 2️⃣ Оценить все возможности РЕД ОС и ее мощные инструменты. ✔️Запишитесь сейчас и поднимите свой уровень администрирования: https://clck.ru/3DzCKx Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru, erid: 2Vtzqxi4ro5

Включаем режим параноика. Все, и не раз слышали про то, что ходить по ссылкам не хорошо. Особенно, если эти ссылки непонятно откуда. Но почему-то многие думают, что это касается только ссылок http:// https:// ftp://. Тут на @gitgate недавно проскакивала тема про Консольные онлайн Telnet/SSH игры. Посмотрим на это глазами параноика: Что происходит, когда вы подключаетесь к ссылке вида ssh user@addr.dom. Ну, ничего страшного. Просто в логах сервера отобразится ваш IP. Ситуация усугубляется, когда вы заходите на ссылку вида ssh addr.dom. В этом случае в логах отобразится не только адрес, но и логин текущего пользователя. Прикиньте, есть ip и уже есть логин. Осталось подобрать пароль. Я бы на месте малышей-плохишей специально рыскал бы по github в поисках всякой прикольной фигни и собирал пары ip/login. Да и логин, не какой-то там test, а реально используемый - сам по себе ценный ресурс. Поэтому не ходите по ссылкам с рабочих машин, а если видите ссылку ssh addr.dom не поленитесь и добавьте пользователя test@addr.dom, чтобы не светить свой реальный логин. Прошу прощениt за тему, которая и так всех задолбала. tags: #linux #security © by Tagd Tagd — 🔔 @bashdays➡️ @gitgate

Открытый вебинар «Мифы о надёжности Kubernetes: Ошибки, которые стоят вам продакшена» от Слёрм ➡ Когда надежное становится не
Открытый вебинар «Мифы о надёжности Kubernetes: Ошибки, которые стоят вам продакшена» от СлёрмКогда надежное становится ненадежным и почему многие системы обречены на падение? На вебинаре покажем самые эпичные фейлы сбоев и фатальные ошибки в настройке кластеров k8s, стоившие компаниям многих часов простоя: - Кластеры разваливаются - API-сервера выходят покурить - А coredns не понимает, кто он и где
Все ошибки невыдуманные, с подробным разбором анализа, что происходило и как нашли первопричину.
Советы, как превратить ваш кластер из катастрофы в более-менее стабильную штуку, которая может прожить без падений хотя бы 2 дня, тоже будут😉 ⚡Спикеры: - Виталий Лихачев. SRE в bооking.соm - Всеволод Севостьянов. Staff engineer в Lokalise ➡ Когда вебинар: 23 октября в 19:00 мск ➡ Регистрация через бот Реклама ООО «Слёрм» ИНН 3652901451

FALSE! Ну, еще одна статейка для укрепления нервов.
Напоминаю: БЕЗДУМНАЯ ПРАВКА СИСТЕМНЫХ ФАЙЛОВ МОЖЕТ ПРИВЕСТИ НЕРАБОТОСПОСОБНОСТИ СЕРВЕРА.
Все знают, что для блокировки пользователя нужно использовать команду:
sudo usermod -L username
Эта команда добавляет знак «!» перед полем пароля, что делает его недопустимым, тем самым блокируя. Все это дело происходит в файле /etc/shadow, где хранятся зашифрованные пароли пользователей. Читаем man shadow:
Если поле пароля содержит строку, которая не удовлетворяет требованиям crypt(3), например содержит «!» или, то пользователь не сможет использовать этот пароль unix для входа (но может войти в систему под другими паролями).
Ахренеть. Я тут пользователя блокернул, а он войти может. Проверяем. Точно, по ssh, через ключ, входит и выходит. Замечательно выходит! Лирическое отступление: В мане shadow также написано, что пароль вообще может быть пустым, но некоторые программы могут запретить его использование. Понимаете для чего нужна опция PermitEmptyPasswords в файле /etc/ssh/sshd_config? Напоминаю, что если установить пользователю оболочку /usr/sbin/nologin, то иногда этот пользователь может получить доступ к файлам через sftp (при установленной подсистеме internal-sftp). ➡️ Что делать для полной блокировки пользователя? Воспользоваться "оболочкой /usr/bin/false" Она просто возвращает код ошибки. Резюмирую: При блокировке пароля возможен доступ по ключу. /usr/sbin/nologin иногда дает доступ к файлам /usr/bin/false не дает, стерва.
man usermod shadow sshd_config
tags: #linux #security © by Tagd Tagd — 🔔 @bashdays➡️ @gitgate

Как Yandex Cloud делает Managed Service for Kubernetes? В этом выпуске «Как мы делаем Yandex Cloud» обсуждаем работу над Managed Service for Kubernetes. Специальный гость — Александр Хаустов, руководитель подразделения Kubernetes в Yandex Cloud. О чём поговорили? 👉 Как обеспечить стабильность инфраструктуры K8s, где более 4 тысяч кластеров и несколько сотен тысяч ядер? 👉 Как планировать изменения, когда поступает множество запросов от внешних и внутренних пользователей? 👉 Какие компетенции должны быть у разработчика в команде облачного Kubernetes? Больше о том, как делаем мы Yandex Cloud в канале.

Тут недавно в чатике была поднята интересная тема про sftp И я решил проверить и немного систематизировать знания.
Напоминаю: БЕЗДУМНАЯ ПРАВКА СИСТЕМНЫХ ФАЙЛОВ МОЖЕТ ПРИВЕСТИ НЕРАБОТОСПОСОБНОСТИ СЕРВЕРА.
Итак: если пользователю прописать оболочкой /usr/sbin/nologin
sudo usermod -s /usr/sbin/nologin user
Это вовсе не означает, что пользователь не может получить доступ к системе. Да, он не может залогиниться с клавиатуры и зайти по ssh. Но он вполне МОЖЕТ ПОЛУЧИТЬ ДОСТУП К ФАЙЛАМ по sftp при условии, что в файле /etc/ssh/sshd_config есть строка Subsystem sftp internal-sftp, не знаю как сейчас, а раньше эта подсистема была установлена по-умолчанию. Логика разработчиков вполне понятна. Работал человек, работал, доступ ему закрыли, но результат работы забрать может. Это, похоже на то, как жена выставляет чемодан у двери гулящему мужу. Заткнуть эту дырку очень просто. В файле /etc/ssh/sshd_config заменим подсистему sftp:
#Subsystem sftp internal-sftp
Subsystem sftp /usr/lib/openssh/sftp-server
Теперь проверка правильности конфигурации и перезапуск службы в случае успеха.
sudo sshd -t && sudo systemctl restart sshd
В этом случае при попытке входа по sftp получим сообщение: Received message too long 1416128883 Ensure the remote shell produces no output for non-interactive sessions. Резюмирую: При оболочке nologin можно получить доступ к файлам если sftp internal-sftp. Сможешь спать спокойно, не заглянув в /etc/ssh/sshd_config ? :-) tags: #linux #security © by Tagd Tagd — 🔔 @bashdays➡️ @gitgate

Сегодня специалисты DevOps — одни из самых востребованных на рынке. По данным hh.ru, на 2000 вакансий приходится 1900 соискат
Сегодня специалисты DevOps — одни из самых востребованных на рынке. По данным hh.ru, на 2000 вакансий приходится 1900 соискателей. Если вы хотите работать с методологией DevOps — попробуйте курс Практикума. После курса вы: — начнёте применять DevOps в работе, — разберётесь в Docker и Kubernetes, — изучите современные инструменты, — почувствуете себя опытным SRE. Поможем сделать релизы более быстрыми и безопасными, инфраструктуру — стабильной, а взаимодействие команд — более эффективным и слаженным. А дальше — получить новый грейд или ответственную роль в команде. Программа рассчитана на 6 месяцев, учёба займет от 15 часов в неделю. В финале — итоговый проект для портфолио, в котором нужно подготовить инфраструктуру и настроить конвейер деплоя. Осваивать принципы DevOps начнём уже в этом месяце. Приходите учиться!

Сегодня про айпишники. Допустим покупаешь ты себе облачный vps. Этому серверу автоматически назначается IP адрес, по которому ты можешь подключиться по ssh. Например у AEZA есть услуга: Добавить IP адрес. То есть к серверу можно привязать 2 айпишника. Я люблю такие штуки, но абсолютный профан в сетях. Купил услугу, второй айпишник автоматически прикрутился. Теперь я могу заходить на сервер по ssh либо через первый IP либо через второй. Смотрим сетевые настройки: /etc/networks
auto ens3
iface ens3 inet static
    address   62.60.238.33
    netmask   255.255.255.255
    gateway   10.0.0.1
    dns-nameservers 1.1.1.1 8.8.8.8

auto ens3:0
iface ens3:0 inet static
    address   62.60.238.133
    netmask   255.255.255.255
    dns-nameservers 1.1.1.1 8.8.8.8
Всё логично и красиво. Айпишники прописаны статично, никакого dhcp и плавающих адресов с выходом на роутере. Если я сделаю так:
curl ifconfig.me
То в выхлопе получу первый IP адрес (62.60.238.33).
Про сервисы вроде ifconfig писал в этом посте.
Но как мне выходить в интернет с конкретного IP адреса? Можно курлыкнуть так:
curl --interface 62.60.238.133 ifconfig.me
curl --interface ens3:0 ifconfig.me
Пошли дальше. Давай настроим маршрутизацию, чтобы 50% трафика выходило через первый айпишник, а 50% через второй. Открываем /etc/networks и комментим блок со вторым IP адресом:
auto lo
iface lo inet loopback

auto ens3
iface ens3 inet static
    address   62.60.238.33
    netmask   255.255.255.255
    gateway   10.0.0.1
    dns-nameservers 1.1.1.1 8.8.8.8

# auto ens3:0
# iface ens3:0 inet static
#    address   62.60.238.133
#    netmask   255.255.255.255
#    dns-nameservers 1.1.1.1 8.8.8.8
Далее хуячим в терминале:

ip addr add 62.60.238.133/32 dev ens3

iptables -t nat -A POSTROUTING -o ens3 -m statistic --mode random --probability 0.5 -j SNAT --to-source 62.60.238.33
iptables -t nat -A POSTROUTING -o ens3 -m statistic --mode random --probability 0.5 -j SNAT --to-source 62.60.238.133

ip route flush cache
Добавляем второй айпишник на тот-же интерфейс где уже присвоен айпишник. А правила iptables изменяют исходный IP на с вероятностью 50%, когда пакеты проходят через интерфейс ens3.
Проверяем:
for i in {1..5}; do curl https://ifconfig.me; echo ""; sleep 5; done

62.60.238.33
62.60.238.133
62.60.238.133
62.60.238.33
62.60.238.33
ЗАЕБИСЬ! Теперь наш сервер выходит в интернеты с разных IP адресов. Что с этим делать дальше? Хуй знает, я показал тебе концепт работы с двумя айпишниками, а ты уже дальше прикидывай где и как это можешь использовать. В идеале запустить какойнить wireguard и ходить по сайтикам светя то одним адресом, то другим. Короче не знаю, накидывай в комменты, где это можно применить. Всем спасибо и увидимся! tags: #networks — 🔔 @bashdays➡️ @gitgate