LINUX.ORG.RU
ФорумAdmin

Управление сервером без ssh

 , ,


0

2

Здравствуйте.

Существует проблема. Дали в работу проект, а из доступов выдали только FTP. SSH доступ клиент предоставить не может, то ли из-за не понимания сути просьбы, толи из каких-то своих соображений.

При этом нам, этот проект надо как-то поддерживать. Прав пользователя из под которого запускаются скриты PHP вполне хватает на запуск git, и прочей мелочевки.

Собственно вопрос в том, есть ли какое-то решение, которое можно запустить из под php, а затем конектиться к нему терминалом?

phpshell - от части подходит, но у него нет возможности работы с интерактивными программами, например тем же mc.

Объясните клиенту, либо они дают все доступы для работы, либо идут лесом. Самый адекватный вариант.

Чем городить какие-то костыли через php.

th3m3 ★★★★★ ()

при помощи того же phpshell скачать сорцы openssh, собери и запусти на на > 1024 порту, подключись и получи нормальную сонсоль.

Spoofing ★★★★★ ()

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

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

хуже того, клиент обнаружив шелл позже может натравить на ТС органы или просто шантажировать

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

клиент обнаружив шелл

Это не должно быть by design: секрет фирмы же :)

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

Не проще бинарь в статике залить? Сразу busybox залить вместе с rsh. А дальше можно развернуться как хочешь.

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

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

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

Тут еще вопрос, с чего все решили, что все порты доступны? А заливать можно все что угодно, только не факт что это заработает. gcc может не оказаться, файрволл может быть грамотно настроен, все может крутиться под виртуалкой с урезанными (пониженными до минимума) COMPAT. Может сразу брутфорс на рута запустить?

PHP shell это не преступление. В грамотно настроенном серваке он максимум что позволит — управлять файлами через веб-морду. Что и нужно ТС.

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

Ну это уже мало вероятно но возможно, если спустится чуть на землю то если на сервере че нибуть поломается, то я уверен что ТС обвинят и накажут. Так что это самый лучший вариант с возможных.

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

грамотно управлять файлами можно и через ФТП.

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

PHP shell это не преступление.

Преступление не шелл, а «неправомерный доступ к информации», шелл лишь инструмент для оного, и если в договоре не описан этот самый доступ, то он какбы запрещен 8)

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

Если говорить про операции с пайпами, то не очень. А на шеллах, что я дал там это можно.

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

если дают из пыха запускать что попало вроде гита и FTP голой жопой наружу торчит, а ssh нет - то это что-то нездоровое и там вряд ли имеется грамотный админ.
вообще, если клиент не может/не хочет предоставлять доступ, то пусть сам занимается сопровождением.

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

неправомерный доступ к информации

К какой информации? Тебя кто-то просит вылазить вне своего каталога? А если все сделано через одно место, то крутить php в небезопасной конфигурации уже преступление, т.к. открывает преднамеренную дыру.

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

К какой информации?

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

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

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

Нет не беспокоит, т.к. доступ дали на доверии. Зачем было давать доступ, даже к фтп, когда и так ясны последствия?

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

доступ дали на доверии.

доступ на установку системы, а не на «следующие 100 лет», в этом разница 8), все упирается в то что написано у них там в договоре.

у нас был договор на сопровождение, у нас сразу был оговорен доступ - нет доступа «пока-пока!». Был случай когда саппорт задекларировали, а доступ нет, его и не дали, срач был на уровне руководства - хотя мы могли залезть на сервер, но делать это «нелегально» себе дороже, т.к. народ искал повод нам подгадить, и «хакирьство» нам бы никто не простил.

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

все упирается в то что написано у них там в договоре.

Верно. Только как можно было подписать договор с доступом только по FTP и после требовать дать SSH?

--

Вобщем, когда у меня случаются такие ситуации, то я обычно делаю то, что нужно, чтобы выполнить задание. Любые претензии про «неправомерный доступ» легко отшиваются, т.к. ничего этого я не делал: не лез туда куда не надо; не сливал данные, которые не нужны для работы; не оставлял дыр после себя; подчищал то, что не нужно для работы сайта/сервера. Это и есть доверие. Либо ты подтверждаешь свое доверие, либо как экс-сотрудник яндекса падаешь вниз.

Все зависит от клиента. Чувствуешь, что клиент бяка — не делаешь ничего, пока не сделают по-нормальному. А если клиент располагает и объясняет причины отказа, то идешь на встречу и выкручиваешься при необходимости. Молча.

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

Согласен, надо смотреть что там за клиент и т.п. в конце концов если сделать все через шелл, а потом удалить то нмв ничего страшного, но ТС видимо не планирует удалять.

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

Некоторые шеллы, что я дал имеют ограничение по IP. Все имеют ограничение по паролю. Так что не вижу проблем с шеллом, кроме уж совсем слабоумных действий, типа без пароля и паролей в 123.

gh0stwizard ★★★★★ ()

Если там есть бинарник /usr/sbin/sshd, то скопируй его конфиг из /etc/ssh/sshd_config в свою папку, поправь там пути к ключам машины в этой папке, сгенерируй ключи с помощью ssh-keygen, и запусти /usr/sbin/sshd -f <твой_файл_конфига> -p <порт_>_1024> (от обычного пользователя). И, конечно, согласуй с клиентом, что ты сам на время работы с сервером будешь запускать sshd.

Если бинарника нет, то распакуй его из бинарного пакета нужного дистрибутива куда-нибудь в свою папку. И не надо ничего компилировать.

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

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

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

Допустим ТС дали вместо FTP SFTP, как твои мысли ему помогут? Вопрос с шеллом ты не решил. Вопрос с запуском консольных программ ты не решил. Вопрос с получением доступа к файлам вне настроек SFTP (пусть они мега-секьюрны) ты не решил.

--

С Iron_Bug я не согласен только в том моменте, что если много воротить носом будешь сидеть на хлебе и воде. Однако, она симпатичная русская канадка, так что ее позиция ясна.

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

Спасибо.

В общем после того как полдня промудохался с этой проблемой в итоге получил следующие результаты.

из хорошего

Был написан bash-скрипт, запускаемый из под php, который делал почти все. Менял директорию; запускал ssh-agent; ставил ему нужные сертификаты для git через ssh; затем запускал клонирование репозитория, в котором лежал проект.

Все это работало.

А из плохого, на хостинге оказался какой-то урезанный git, и команда git pull тупо не работала.

Поэтому, я решил прекратить мутарства, и просто заюзал такую неплохую вобщемто штуку как git-ftp.

Аплоад довольно долгий, и нет отслеживания состояния файлов на сервере, но зато работает.

Всем спасибо.

merlex ()

давать фтп вместо шелл еще хуже на порядки в плане безопасности

не исключено, что сервера заказчика имеют неосиляторство в плане безопасности, админства и прочего

предложите встречно: нормальное админство, аудит кода, рефакторинг, оптимизацию, услуги по GPL-лицензированию проекта, переезд на github, обучение, консалтинг, предоставление общественных интересов и т.п.

anonymous ()

Какой еще git? Какой SSH? Это же ПХП. Откуда ты вообще узнал про ssh и git?

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