LINUX.ORG.RU

Запуск sshd, используя только wget и g++

 , , , ,


0

1

Задача интересная появилась. Надо запустить сервер на ssh с ненужного порта. Самое интересное — набор наших инструментов. Нет доступа к root правам, а система девственно чистая. Так что openssh-server не установлен ><. Для конкретики можно считать, что это amd64 машина с Ubuntu-16.04.3 LTS. В теории же всё можно сделать!

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

galqiwi
() автор топика

Что мешает взять пакет с sshd, распаковать (ar есть?), написать конфиг с портом выше 1024, позвать
sshd -f мойконфиг
?

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

Был бы у galqiwi физический доступ(или KVM/IPMI) он бы так не заморачивался. Судя по тому, как он пытается запустить SSH - у него есть только доступ к учётке одного из обычных юзеров.

Ну и насчёт девственно чистой системы он похоже, немного слукавил. В нормальной ситуации g++ в системе по умолчанию быть не должно. Его явно кто-то накатил после установки. По настоящему спортивный вариант - это запуск ssh только с помощью wget:)

lucentcode ★★★★★
()

Вижу, bormant вам уже предложил практически готовое решение. В подобной ситуации использование sshd с путём к конфигу в нужном каталоге - вполне себе рабочий вариант. А ещё лучше взять легковесный dropbear, и запустить его. Ему даже конфиг создавать не обязательно, можно все нужные параметры при запуске из командной строки указать.

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

В нормальной ситуации g++ в системе по умолчанию быть не должно.

Это же убунта, там даже гит есть в коробке.

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

Да, пароля пользователя нет. Есть только рабочая сессия. И sudo тоже, в этом и вопрос:)

galqiwi
() автор топика
Ответ на: комментарий от deadNightTiger

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

galqiwi
() автор топика
Ответ на: комментарий от lucentcode

Угу. Есть доступ к сессии юзера. И, да. На бубунте g++ изначально стоит. Спасибо за активность:)

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

изи

Ну если это «изи», то задачу в ОП можно вообще с закрытыми глазами решить?

i-rinat ★★★★★
()
Ответ на: комментарий от lucentcode

Проблема в том, чтобы распаковать пакет с sshd. Я распаковал .deb файл. Вывод:

$ pwd
/home/galqiwi/Downloads/sshd/usr/sbin
$ ./sshd
./sshd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.26' not found (required by ./sshd)
./sshd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by ./sshd)

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

Проблема в том, чтобы распаковать пакет с sshd. Я распаковал

Проблема в том, чтобы научиться читать

Ты не то распаковал

google version «GLIBC_2.26» not found

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

Я гуглил. Но я же не могу установить libc6.

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

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

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

SSH у вас похоже не той версии, что нужна для вашей версии Ubuntu. Нужен или пакет собранный именно для вашего дистрибутива, или сборка sshd со статически прилинкованными либами.

В принципе, собрать sshd со статически скомпилированными либами можно и на своём ПК(я люблю для сборки ПО для дистров отличных от используемого мной Docker использовать), полученный бинарник можно запаковать и загрузить на нужный сервер, распаковать и запустить одинокий бинарник уже не проблема.

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

Спасибо большое! Это именно то, что я искал. Пошёл прошариваться в статические библиотеки. Можете указать путь, если не сложно? Куда копать?

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

Тут когда-то уже обсуждали этот вопрос. Как собрать статически openssh там довольно неплохо описал Lumi. Там же он написал и о том, что запуск SSH на высоком номере порта на чём-то вроде шаред-хостинга может закончиться обломом из-за определённых ограничений.

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

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

Не за что) dropbear - хороший выбор. У него меньше зависимостей и собирается он быстрей, чем openssh.

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

Да нет, всё проще и прозаичней. Зачем компилировать что-то на машине, к которой у нас ограниченный доступ, когда можно глянуть что за дистр и какой разрядности там крутится, запустить docker-контейнер с таким же дистром у себя локально, быстро собрать нужный статически слинкованный бинарник, пожать его(если нужно) и быстро залить куда-то, откуда его можно будет скачать на нужный сервак с помощью wget, если нужно распаковать, и запустить? В большинстве случаев собирать что-то локально в ситуациях, вроде той что описал топикстартер - моветон.

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

Во всём согласен, лишь только докер какашка монструозная, меняю на cdebootstrap + chroot =) Хотя я никак не приучу себя собирать разное в chroot и периодически поднасираю в систему dev пакетами ))))))

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

Согласен, в большинстве случаев юзать docker для сборки пакетов - это стрелять из пушки по воробьям. Можно отбойтись с помощью cdebootstrap( или rpmbootstrap для редхатообразных) + chroot. Ноя всё равно юзаю docker, а разе уже есть и используется docker, так почему бы его и для сборки пакетов не припахать?)

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

Я как-нибудь, юзать make, соберу статический бинарник, а потом переброшу на машину через внешний апач сервак. Уже тестил, работает.

galqiwi
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.