LINUX.ORG.RU
ФорумAdmin

ssh барахлит

 , ,


0

3

Помогите разобрать проблему, комрады!

Имею: VPS с убунтой, докер, композом запущена Gitea с пробросом ssh порта внутрь ее контейнера.

И вот иногда ее внутренний ssh иногда не принимает коннекты. Попытки подключиться таймаутятся. Но прямо быстро - т.е. ощущение, что порт не слушается никем. А через минуту-две опять все работает.

В логах контейнера Gitea есть попытки подключения левого root, admin, они нечастые, других аномалий не заметил.

Логов ssh внутри не могу найти. Логов системы тоже. /var/log внутри контейнера вообще пустая.

Как определить причину такого поведения?

★★★★★

Логов ssh внутри не могу найти. Логов системы тоже.

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

u5er ★★
()

Как ты запускаешь Gitea и как пробросил порт ssh внутрь? В контейнере, скорее всего, нет нормального инита, а логи идут в stdout/stderr, используй docker logs

zimniy
()
Ответ на: комментарий от firkax

Посмотри на это с другой стороны - человек без минимальных навыков траблшутинга (возможно даже с минимальными навыками работы в Linux) просто дает одну команду docker compose up, и у него в большинстве случаев все работает.

Другой пример - кодер дает одну команду docker run postgres - и все, после этого можно говнокодить свои SQL-запросы. И без разницы, какой там приедет образ постгреса - с уязвимостими, абы как настроенный - кодер не хочет тратить и не тратит свое время на админство БД.

bigbit ★★★★★
()
Последнее исправление: bigbit (всего исправлений: 1)
Ответ на: комментарий от firkax

И что в этом хорошего?

Малограмотные личности

Ты не понял, о чём тебе говорят. Тут идёт речь про разделение труда. Один человек занимается только разработкой, а другой человек только развёртыванием и настройкой системы. Разработчику нет смысла знать, как устанавливается и настраевается sql-сервер, например. Эта работа ложится на плечи сисадмина. Или ты настаиваешь на том, что все обязаны знать всё без исключения?

u5er ★★
()
Ответ на: комментарий от u5er

Всё я понял. И нет, там речь не про это. Против разделения труда я ничего не имею - админ настроил сервисы, программист пишет код. И даже никаких docker compose up программисту делать не придётся.

Докер используют вовсе не для этого, а именно для того, чтобы малограмотные личности чё-то скачали с инета и запустили.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

я бы начал вот с этого:

Логов ssh внутри не могу найти.

https://docs.gitea.com/1.19/administration/logging-configuration

[log]
MODE = console
LEVEL = debug ; please set the level to debug when we are debugging a problem
ROUTER = console
COLORIZE = false ; this can be true if you can strip out the ansi coloring
ENABLE_SSH_LOG = true ;

логи должны появиться в docker-compose logs -f ...

Попытки подключиться таймаутятся.

Но прямо быстро - т.е. ощущение, что порт не слушается никем.

Надо понять, на каком уровне возникает ошибка, на L7 или на L4

Если ситуация часто воспроизводится, я бы повесил какой-нибудь простой скриптик который бы показывал SSH баннер через nc и записывал бы логи попыток с timestamp.

gagarin0
()
Ответ на: комментарий от firkax

именно для того, чтобы малограмотные личности чё-то скачали с инета и запустили.

Не что-то скачали, а систему, которую заранее настроил сисадмин должным образом. Это как раз про разделение труда, нет?

u5er ★★
()
Ответ на: комментарий от firkax

Нормальному сисадмину никакие докеры не требуются чтобы настроить систему программисту.

Попался мне в руки прошлогодний курс от росатомовской академии про чистый докер (не композ). Я, не стесняясь своего дилетантства и считая себя компетентным в докере, посмотрел его и с удивлением много чего ещё для себя почерпнул. Хотелось бы добавить свои 5 копеек в Ваш диалог с @u5er. Нормальному сисадмину (ИМХО) нужно настраивать воркспейс разрабу именно в докере. Это быстрее, это вкуснее, это молодёжнее, это с рюшками. По итогу можно и упаковать всё разработанное в образ, но это действительно необходимо делать грамотно. То есть как минимум запускать необходимую версию, а не latest. Но опять же, чтоб это делать надо потратить время на его изучение. А на сегодняшний, день кто просто умеет писать docker run, уже добавляют строчку в резюме «эксперт CI/CD». В связи с чем про грузчиков я тут с тобой соглашусь. Не хочет человек учиться, вакансий где ума не требуется хватает. В ГАИ например большой недобор…=)

Shprot ★★
()
Ответ на: комментарий от Shprot

вакансий где ума не требуется хватает. В ГАИ например большой недобор…=)

То есть ты хочешь чтобы в ГАИ шли двоечники, от которых потом будут гос. базы утекать?

firkax ★★★★★
()
Ответ на: комментарий от firkax

То есть ты хочешь чтобы в ГАИ шли двоечники, от которых потом будут гос. базы утекать?

Жёсткий ты. Ну пусти их хотя бы на дорогу палкой махать, доки проверять. У них там вроде как ограниченный доступ только с планшетна разовый запрос к БД сделать…=)

Shprot ★★
()

Докер это заменитель явы, но без состояний. Зачем тебе к нему ssh, если какие-либо действия противоречат его концепции и могут привести к непредсказуемым последствиям?

// З.ы. После слова «докер» сразу отправляем в отдел кадров писать по собственному.

anonymous
()
Ответ на: комментарий от firkax

То есть ты хочешь чтобы в ГАИ шли двоечники, от которых потом будут гос. базы утекать?

Все эти базы утекают вследствие злого умысла, а не из-за уязвимостей.

anonymous
()
Ответ на: комментарий от anonymous

эс эс аш там для гита, а не для шеллевого доступа в контейнер, компетентный ты наш кадровичок.

но аллергия вполне понятна - облако выхлопов не может не вызывать иммунологическую реакцию.

anonymous
()
Ответ на: комментарий от u5er

Разработчику нет смысла знать, как устанавливается и настраевается sql-сервер

Разработчику нужно установить расширение pg_vector, например, для RAG - разработчик идёт просить сис.админа (девопса, который как DBA - примерно никак). Разработчику нужно смотреть в логи - а Кубер, оказывается, перехватывает на себя весь stderr из подов и до логов ПГ добраться можно только через его, Кубера, механизмы, плюс ещё и чистит Кубер сам по своим законам и найти что там случилось вчера - разработчику просто в принципе не возможно.

Очень надеюсь, что те кто придумал запихивать ПГ в контейнеры плохо спят по ночам.

Toxo2 ★★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)
Ответ на: комментарий от Toxo2

Ты опять выходишь на связь? Пройди уже какие-нибудь курсы и начни использовать инструменты по назначению.

Если у вас всё сделано через жопу — это не значит, что у всех остальных так же.

zimniy
()
Ответ на: комментарий от zimniy

Какие именно курсы-то?

Детишки насмотрелись ютуба и начитались первой страницы гугла.

ИТ-индустрия ничем не отличается от любой другой - реклама и хайп хайп и реклама. А детишки верят. И не любят нудное старичьё. А в ютубе косоглазый вьюноша так задорно, и на их языке рассказывает про микросервисы, как про серебряную пулю на все случаи жизни, в каждом предложении вставляя слово «функционал». Детишки в восторге от юноши, и от наличия простого и однозначного решения. Детишки в штыки принимают любой опыт мерзких стариканов, застрявших в прошлом веке просто по определению.

Какие именно курсы мне нужны?

Toxo2 ★★★★
()
Ответ на: комментарий от Toxo2

Если ты не в состоянии заставить детишек использовать свои старпёрские технологии прошлого века, то, наверное, по Kubernetes, чтобы, как минимум, понимать, как это не надо использовать. А то у меня ощущение, что ты не просто гвозди микроскопом забивать пытаешься, а специально решил страдать. Ты бы ещё электромобиль попытался бензином заправить, мерзкий старикан.

Мой изначальный посыл тебе был: используй подходящий инструмент.

P.S.: тех, кто использует слово «функционал» не по назначению, всерьёз не воспринимаю.

zimniy
()
Последнее исправление: zimniy (всего исправлений: 1)
Ответ на: комментарий от bvn13

Я давно докер-контейнеры не посещал (и слава Ктулху!), потому фиг его знает что там творится. Да и логи там обычно нужны только от поднятого внутри сервиса, так что я systemd внутри докера никогда не касался.

Но вообще логично что предустановленный базовый минимум не засирает контейнер, оно должно просто работать. А у тебя оно торчит наружу, что не совсем вписывается в концепцию докера. Не осуждаю и вполне разделяю твою логику, но тем, кто это дело делал, ты вряд ли докажешь что нужно делать как-то иначе.


У меня Gitea тоже в контейнере, но на базе FreeBSD jail(8).
И боты тоже долбятся, но не так, чтобы в контейнер нельзя было зайти.

mord0d ★★★★★
()