@repo_science · Post #4044 · 27.02.2024 г., 20:34
#ssh 👍 SSH Crash Course With Some DevOps ----- Main channel: @repo_science Coupons: @freecoupons_reposcience -----
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #884 · 5.10
Роскосмос пару дней назад опубликовал отчёт о том, почему упала "Луна-25". Там конечно канцелярит, но можно примерно понять, что двигатель коррекции получил неверные данные от акселерометра: из-за возможного попадания в один массив данных команд с различными приоритетами их исполнения прибором Это очень похоже на программную ошибку, а это моя сфера, и я решил над ситуацией поразмыслить. Хейтеры сразу стали строчить комментарии в стиле "Ололо, наняли каких-то идиотов, которые простейшие тесты не провели". Тут обычно справедливо вспоминают аварию с европейской ракетой Ариан-5 в 1996 году. Там буквально из-за пары строчек кода в результате неправильного приведения числовых типов ракета за 7 млрд баксов развалилась на куски в воздухе. Бывает. Что касается Роскосмоса, при всей его сомнительной репутации, объяснение "Дураки не провели тесты" звучит лично для меня неправдоподобно. На мой личный взгляд возможны два варианта: 1. Если в описании ошибки слово "приоритет" обозначает какой-то признак внутри объекта команды, значит, на входе в приёмный модуль эти команды не были отфильтрованы. Выглядит как грубая ошибка, целый логический блок упущен. Вряд ли этот блок вообще не написан, скорее всего он не выполнился. Такое бывает, если в тестовой среде есть какое-то условие, которого нет в рабочей, и именно это условие отвечает за выполнение участка кода. Сталкивался с таким миллион раз. Самое дикое из последнего: код парсит эксель-таблицу с числами. Разработчик написал, запустил проверил, прогнал тесты, всё ок. Отправляем в прод — все числа будто бы рандомно меняются на другие. Запускаем снова — у всех разработчиков функционирует нормально, а в проде на сервере нет. Таблица одна и та же. Можете подумать, почему так. Ответ: у разработчиков стоит русская локаль и десятичный разделитесь это запятая, а на проде в докере точка. При парсинге на проде запятая уже интерпретируется как разделитель тысячных разрядов. 2. Куда вероятнее, что слово "приоритет" в описании ошибки обозначает время, а, значит, список команд просто не был отсортирован, и в обработчик уже после актуальных значений попали какие-нибудь начальные нулевые данные, сбившие логику. По косвенному описанию проблемы очень похоже именно на это. Значит, на тестах всегда порядок возникновения команд соответствовал порядку их прихода, а в реальности перестал соответствовать. Вообще, работать с железом очень сложно. Какую-нибудь схемку заглючило от холода, она задержала ответ от датчика на миллисекунду, и всё. Никто не знал, что такая проблема возможна, пока она не возникла. Мне рассказывали о таком случае: юзер логинится на сайт и иногда логин проходит, а иногда нет. Логин и пароль те же самые. Просто в случайные моменты времени ему возвращают токен авторизации, а в другие моменты времени ошибку 403. Никакой закономерности нет вообще. Нет зависимости от времени суток и даты. Сервер точно работает стабильно и не падает все 100% времени. Почему так может быть? Ответ: у сервиса авторизации два инстанса, перед которыми балансировщик нагрузки. В одном инстансе данные для авторизации есть, в другом нет. Балансировщик при примерно одинаковой нагрузке включает просто случайный выбор между ними. В общем, программисты иногда допускают такие косяки, что какая-то мелочь может привести к серьёзной аварии. Это я вам говорю как программист, который пишет для атомных станций :) #dev
Hashtags
Търсене: #ssh
@repo_science · Post #4044 · 27.02.2024 г., 20:34
#ssh 👍 SSH Crash Course With Some DevOps ----- Main channel: @repo_science Coupons: @freecoupons_reposcience -----
Hashtags
@tg_infosec · Post #3572 · 10.09.2025 г., 12:34
📶Алгоритм установления соединения в протоколе SSH. • Алгоритм протокола SSH можно разделить на три уровня, каждый из которых располагается над предыдущим: транспорт (открытие защищённого канала), аутентификация, подключение. Для целостности картины добавим сюда уровень установки сетевого соединения, хотя официально этот уровень находится ниже SSH. 🟢Установка TCP-соединения: на этом этапе происходит сетевое подключение клиента к серверу на TCP-порт, указанный в опции Port (по умолчанию: 22) в файле конфигурации сервера /etc/ssh/sshd_config 🟢Открытие защищенного канала: - Обмен идентификационными данными: после установки TCP-соединения, клиент и сервер обмениваются версиями SSH-протокола и другими вспомогательными данными, необходимыми для выяснения совместимости протоколов и для выбора алгоритмов работы. - Выбор алгоритмов (обмена ключами, шифрования, сжатия и т.п.): на этом шаге стороны отсылают друг другу списки поддерживаемых алгоритмов, наибольший приоритет имеют алгоритмы в начале каждого списка. Затем сравнивают алгоритмы в полученных списках с алгоритмами, имеющимися в системе, и выбирают первый совпавший в каждом списке. Список доступных алгоритмов обмена ключами на стороне клиента (используются для получения сессионного ключа) можно посмотреть командой: ssh -Q kex - Получение сессионного ключа шифрования: Процесс получения сессионного ключа может отличаться в зависимости от версии алгоритма, но в общих чертах сводится к следующему: Сервер отсылает клиенту свой ключ (DSA, RSA или т.п.), если клиент производит соединение с данным сервером впервые, то пользователю будет задан вопрос о доверии ключу сервера. Если же соединение с данным сервером уже устанавливалось ранее, то клиент сравнивает присланный ключ с ключом, записанным в /home/username/.ssh/known_hosts. Если ключи не совпадают, то пользователь получит предупреждение о возможной попытке взлома. Как только клиент определился с доверием к ключу сервера, с помощью одной из реализаций алгоритма Диффи-Хеллмана клиент и сервер генерируют сеансовый ключ, который будет использоваться для симметричного шифрования канала. 🟢Аутентификация клиента: только теперь, когда клиент и сервер установили канал для зашифрованной передачи данных, они могут произвести аутентификацию по паролю или ключам. - В общих чертах, аутентификация посредством ключей происходит следующим образом: клиент отсылает серверу имя пользователя и свой публичный ключ. Сервер проверяет в файле /home/username/.ssh/authorized_keys наличие присланного клиентом открытого ключа. Если открытый ключ найден, то сервер генерирует случайное число и шифрует его открытым ключом клиента, после чего результат отправляется клиенту. Клиент расшифровывает сообщение своим приватным ключом и отправляет результат серверу. Сервер проверяет полученный результат на совпадение с тем числом, которое он изначально зашифровал открытым ключом клиента, и в случае совпадения считает аутентификацию успешной. 🟢Уровень подключения: после проведения всех вышеперечисленных процедур, пользователь получает возможность передавать команды серверу или копировать файлы. #SSH
Hashtags
@tg_infosec · Post #3533 · 30.08.2025 г., 12:34
📶How SSH secures your connection. • Весьма интересный и актуальный материал о том, какие меры безопасности реализованы в SSH для организации защищённого доступа в процессе подключения и работы: ➡️https://noratrieb.dev/blog/posts/ssh-security/ #SSH
Hashtags
@tg_infosec · Post #3367 · 07.07.2025 г., 12:29
📶 Практические советы, примеры и туннели SSH. • Практические примеры SSH, которые выведут на новый уровень ваши навыки удалённого администрирования. Команды и советы помогут не только использовать SSH, но и более грамотно перемещаться по сети. Знание нескольких трюков ssh полезно любому системному администратору, сетевому инженеру или специалисту по безопасности. - SSH socks-прокси; - Туннель SSH (переадресация портов); - SSH-туннель на третий хост; - Обратный SSH-туннель; - Обратный прокси SSH; - Установка VPN по SSH; - Копирование ключа SSH (ssh-copy-id); - Удалённое выполнение команд (неинтерактивно); - Удалённый перехват пакетов и просмотр в Wireshark; - Копирование локальной папки на удалённый сервер по SSH; - Удалённые приложения GUI с переадресацией SSH X11; - Удалённое копирование файлов с помощью rsync и SSH; - SSH через сеть Tor; - SSH к инстансу EC2; - Редактирование текстовых файлов с помощью VIM через ssh/scp; - Монтирование удалённого SSH как локальной папки с SSHFS; - Мультиплексирование SSH с помощью ControlPath; - Потоковое видео по SSH с помощью VLC и SFTP; - Двухфакторная аутентификация; - Прыжки по хостам с SSH и -J; - Блокировка попыток брутфорса SSH с помощью iptables; - SSH Escape для изменения переадресации портов. #SSH
Hashtags
@tg_infosec · Post #3241 · 27.05.2025 г., 12:33
📶 Полное руководство по SSH в Linux и Windows. • Что такое SSH. Утилиты SSH: - Что такое и для чего нужен SSH; - Утилиты SSH; - Как установить OpenSSH; - Управление службой OpenSSH; - Как проверить журнал событий SSH службы; - Как увидеть неудачные попытки входа SSH; - Как просмотреть журнал подключений пользователей SSH; • Настройка сервера OpenSSH: - Как настроить SSH сервер (sshd); - Перезапуск службы SSH; - Как изменить порт, на котором работает сервер OpenSSH; - Как выбрать интерфейс (IP) для прослушивания; - Почему пользователь root не может подключиться по SSH с верным паролем. Как запретить или разрешить подключение root по SSH; - Запрет и разрешение входа в SSH по паролю обычным пользователям; - Разрешение входа без пароля; - Как разрешить или запретить пользователям входить через SSH; - Шаблоны в файле настроек SSH; - Как разрешить подключение только с определённого IP или группы IP. Как заблокировать определённые IP для SSH; - Настройка журналов SSH сервера; - Запуск SSH без отсоединения от терминала; - Запуск сервера SSH с другим конфигурационным файлом; - Как проверить конфигурационный файл сервера SSH без запуска службы; - Другие важные опции командной строки сервера SSH; - Другие опции sshd; • Как подключиться к SSH. Настройка клиента OpenSSH: - Подключение к SSH из Linux; - Подключение к SSH из Windows; - Подключение по SSH с мобильного телефона; - Как подключиться к SSH; - Подключение к SSH по имени хоста; - Подключение по SSH к хосту в VPN; - Выполнение команд на удалённом сервере без создания сессии шелла; - Передача стандартного вывода с локальной машины на удалённую по ssh; - Опции командной строки клиента SSH; - Конфигурационные файлы клиента SSH; - Конфигурационные директивы файлов /etc/ssh/ssh_config и ~/.ssh/config; - Как указать файл ключа для подключения; • Создание и настройка ключей OpenSSH: - Вход в SSH без пароля (с использованием файлов ключей); - Типы ключей; - Утилита ssh-keygen; - Как поменять количество бит в ключах ssh-keygen; - Добавление комментариев в ключи ssh-keygen; - Изменение паролей в ssh-keygen; - Показ публичного ключа из приватного; - Управление приватными ключами на клиенте SSH; - Управление публичными ключами на сервере SSH; - Как конвертировать .ppk ключ в OpenSSH ключ; • Копирование файлов с помощью scp и sftp: - Копирование с удалённого компьютера и на удалённый компьютер (scp и sftp); - Как пользоваться утилитой scp; - Как скопировать файл с одного удалённого хоста на другой удалённый хост; - Как выгрузить на сервер или скачать с сервера папку; - Как указать порт для scp; - Как использовать другой файл настройки для scp и как указать файл ключей аутентификации; - Как ограничить скорость передачи данных в scp; - Как сохранить метки времени при передаче по scp; - Отключение строгой проверки имён файлов; - Тихий режим; - Как пользоваться sftp; - Интерактивные команды sftp; - Опции sftp; - Графический интерфейс SFTP; • Подсказки и сложные случаи использования OpenSSH: - Туннелирование с SSH. Открытие графической программы, расположенной на удалённом компьютере, по SSH; - Использование SSH в качестве прокси для доступа к локальным ресурсам удалённого компьютера; - Установка VPN через SSH; - Как редактировать файл на другом компьютере через ssh; - Как сравнить файлы на удалённом компьютере (выполнить команду diff) через SSH; - Как настроить VNC через ssh; - Как включить форвардинг (пересылку) X11 с использованием ssh; - Сохранение запущенной команды после закрытия SSH; - Сетевая файловая система SSHFS. #SSH
Hashtags
@tg_infosec · Post #2938 · 14.02.2025 г., 12:33
📶 Visual guide to SSH tunneling and port forwarding. • Наглядные примеры организации SSH туннелей для решения различных задач: https://ittavern.com/visual-guide-to-ssh-tunneling-and-port-forwarding/ • В дополнение: практические примеры SSH. - SSH socks-прокси; - Туннель SSH (переадресация портов); - SSH-туннель на третий хост; - Обратный SSH-туннель; - Обратный прокси SSH; - Установка VPN по SSH; - Копирование ключа SSH (ssh-copy-id); - Удалённое выполнение команд (неинтерактивно); - Удалённый перехват пакетов и просмотр в Wireshark; - Копирование локальной папки на удалённый сервер по SSH; - Удалённые приложения GUI с переадресацией SSH X11; - Удалённое копирование файлов с помощью rsync и SSH; - SSH через сеть Tor; - SSH к инстансу EC2; - Редактирование текстовых файлов с помощью VIM через ssh/scp; - Монтирование удалённого SSH как локальной папки с SSHFS; - Мультиплексирование SSH с помощью ControlPath; - Потоковое видео по SSH с помощью VLC и SFTP; - Двухфакторная аутентификация; - Прыжки по хостам с SSH и -J; - Блокировка попыток брутфорса SSH с помощью iptables; - SSH Escape для изменения переадресации портов; #SSH
Hashtags
@tg_infosec · Post #2932 · 12.02.2025 г., 12:31
📶 ssh-audit. SSH server & client security auditing (banner, key exchange, encryption, mac, compression, compatibility, security, etc). • Делюсь полезными ресурсами: ssh-audit — инструмент для аудита SSH соединения на сервере: https://github.com/jtesta/ssh-audit + отдельный ресурс, где можно проверить текущую настройку SSH сервера: https://www.ssh-audit.com/ #SSH
Hashtags
@tg_infosec · Post #2930 · 11.02.2025 г., 12:32
📶 sshlog. • Open source-инструмент для логирования и мониторинга всей активности юзера после установки им SSH подключения. - Позволяет админам шарить сеанс другим доверенным юзерам; - Использует eBPF, написан на С++ и Python; - Записывает всё, что произошло через SSH; - Умеет слать предупреждения в слак; - Ну и еще многое другое... ➡️https://github.com/sshlog/agent #SSH
Hashtags
@tg_infosec · Post #2872 · 21.01.2025 г., 13:31
📶 sshx. • Весьма интересная тулза для совместной работы с терминалами: ➡️https://github.com/ekzhang/sshx • Характеристики и особенности инструмента описывать не буду, эту информацию Вы найдете по ссылке выше. Однако, могу сказать, что тулза будет очень полезна для обучения, так как Вы можете пошарить терминал в режиме реального времени с курсорами, чатом и т.д. • P.S. Обратите внимание еще на страничку автора, там есть много крутых тулз, которые можно использовать в работе: https://www.ekzhang.com #SSH
Hashtags
@tg_infosec · Post #2860 · 16.01.2025 г., 12:30
📶 SSH Commands Cheat Sheet. • Объемная шпаргалка по SSH, которая пригодиться в работе: - Basic SSH Commands; - SSH Configurations and Options; - Remote Server Management; - Advanced SSH Commands; - Tunneling; - Conclusion. #SSH
Hashtags
@djangoproject · Post #213 · 02.01.2017 г., 17:24
http://stackoverflow.com/questions/2975624/how-to-run-a-python-script-in-the-background-even-after-i-logout-ssh How to run a Python script in the background even after I logout #SSH?
Hashtags
@tg_infosec · Post #4153 · 02.04.2026 г., 11:31
• Есть старое правило: если можно сделать быстро и удобно, кто‑то обязательно сделает это в ущерб безопасности. В инфраструктурных командах это особенно заметно. Сетевики часто решают задачи «с лёту», и это прекрасно. Пока речь не заходит про пароли. Один из таких случаев стал для автора данного материала хорошим уроком... • В этой статье описана ситуация, когда сотрудники сопровождения передавали пароль по SSH. В открытом виде. • Почему это проблема: ➡Передача пароля в аргументах — это классический антипаттерн. ➡Аргументы команд видны в ps, /proc/[PID]/cmdline, Task Manager. ➡Они могут попасть в логи CI/CD. ➡Мониторинг и аудит тоже их подхватят. ➡Многие утилиты (sshpass, plink, WinSCP CLI, rsync, mysql, curl, mRemoteNG) позволяют так передавать пароль — и это соблазн для быстрого «костыля». • В итоге получить пароль можно даже не трогая сам SSH, что может привести к утечке. Подробности по ссылке ниже: ➡️Читать статью [3 min]. • P.S. Рекомендую обратить внимание на комментарии, там можно найти полезные советы и рекомендации. #ИБ#SSH