Size: a a a

2020 April 26

i

ivdok in NNLUG
Да, обращения к библиотеке вместо запуска любого исполняемого кода на выбор
источник

AP

Artyom "avp&quo... in NNLUG
Vladimir S
а чего они юзают? заранее написанные прекопиленные куски на с/с++?
Есть библиотечные реализации протоколов, таких, как SSH.  Их использовать удобнее и, во многих случаях, безопаснее.
источник

VS

Vladimir S in NNLUG
механизм вызова из php у них какой?
источник

S

Sergey in NNLUG
Vladimir S
механизм вызова из php у них какой?
Такой же как и у любых других приложений по отношению к dll/so
источник

S

Sergey in NNLUG
Новый процесс не создаётся
источник

S

Sergey in NNLUG
Exec - создаёт новый процесс
источник

AP

Artyom "avp&quo... in NNLUG
Artyom "avp" Poptsov
Третий день пытаюсь разобраться со следующей проблемой.  Есть сгенерированный SSH-ключ, публичная часть которого добавлена в ~/.ssh/.authorized_keys моего пользователя.  При заходе через обычный ssh, ключ прекрасно работает — аутентификация проходит.

Если же я пытаюсь использовать PHP-обёртку для libssh2 (пакет php-ssh2/eoan,now 1.1.2+0.13-4build1 amd64), то аутентификация не проходит.  В логах есть строки следующего вида:
апр 26 11:38:43 desktop sshd[12466]: debug1: no match: libssh2_1.8.0 PHP
[...]
апр 26 11:38:44 desktop sshd[12466]: debug3: mm_answer_keyallowed: publickey authentication test: ED25519 key is allowed
апр 26 11:38:44 desktop sshd[12466]: debug3: mm_request_send entering: type 23
апр 26 11:38:44 desktop sshd[12466]: debug3: send packet: type 60 [preauth]
апр 26 11:38:44 desktop sshd[12466]: debug2: userauth_pubkey: authenticated 0 pkalg ssh-ed25519 [preauth]
апр 26 11:38:44 desktop sshd[12466]: debug3: user_specific_delay: user specific delay 0.000ms [preauth]
апр 26 11:38:44 desktop sshd[12466]: debug3: ensure_minimum_time_since: elapsed 7.440ms, delaying 1.005ms (requested 8.445ms) [preauth]
апр 26 11:38:44 desktop sshd[12466]: Postponed publickey for avp from 127.0.0.1 port 39858 ssh2 [preauth]
апр 26 11:38:44 desktop sshd[12466]: debug3: receive packet: type 1 [preauth]
апр 26 11:38:44 desktop sshd[12466]: Received disconnect from 127.0.0.1 port 39858:11: PECL/ssh2 (http://pecl.php.net/packages/ssh2) [preauth]

В консоли следующая ситуация:
PHP Warning:  ssh2_auth_pubkey_file(): Authentication failed for avp using public key: Callback returned error [...]

Скачал исходники php-ssh2, добавил отладочный вывод, перекомпилировал, подсунул PHP.  Вижу, что процедура libssh2_userauth_publickey_fromfile_ex из libssh2 возращает код -19 (LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED)

Может, у кого есть ещё идеи, куда копать?

Система: Ubuntu 19.10
источник

A

Alex_5252 in NNLUG
Тут столько всего понаписали, но не " ~/.ssh/.authorized-keys " а  ~/.ssh/authorized_keys хотя бы.
источник

i

ivdok in NNLUG
Alex_5252
Тут столько всего понаписали, но не " ~/.ssh/.authorized-keys " а  ~/.ssh/authorized_keys хотя бы.
Зависит от настроек в sshd_config. Хотя сразу скажу, что с либой libssh2 ни разу не работал, тем более с PHP-обёрткой
источник

i

ivdok in NNLUG
Видел любопный кейс - предыдущий админ-додик одного из клиентов указал файл с authorized_keys по пути %u/.ssh/id_rsa.pub
источник

AP

Artyom "avp&quo... in NNLUG
Alex_5252
Тут столько всего понаписали, но не " ~/.ssh/.authorized-keys " а  ~/.ssh/authorized_keys хотя бы.
Это очепятка в описании ошибки, на компьютере всё правильно настроено.
источник

A

Alex_5252 in NNLUG
ivdok
Видел любопный кейс - предыдущий админ-додик одного из клиентов указал файл с authorized_keys по пути %u/.ssh/id_rsa.pub
Почему бы и нет?
источник

i

ivdok in NNLUG
Alex_5252
Почему бы и нет?
Нельзя добавить ещё один ключ - ломается pubkey, это раз, во-вторых зачем заходить по ssh на локалхост, если есть su и sudo?
источник

i

ivdok in NNLUG
Если цель была "не дать кому-то ещё зайти, кроме админа" - так забиндить на локальный интерфейс нужно, или на худой конец прикрутить fail2ban, но ломать архитектуру не надо
источник

A

Alex_5252 in NNLUG
Что ломается?
источник

i

ivdok in NNLUG
Публичная чать ключа - в ней может быть только один ключ
источник

A

Alex_5252 in NNLUG
Ничего не понял, какая-то дичь.
источник

i

ivdok in NNLUG
Добавляем ещё публичную часть, например второго админа, как это делается в обычном authorized_keys - и мы ломаем авторизацию первого админа к другим хостам, так как id_rsa.pub теперь не валиден
источник

A

Alex_5252 in NNLUG
В файле-то может быть сколько угодно публичных записей?
источник

A

Alex_5252 in NNLUG
ivdok
Добавляем ещё публичную часть, например второго админа, как это делается в обычном authorized_keys - и мы ломаем авторизацию первого админа к другим хостам, так как id_rsa.pub теперь не валиден
Какая-то ерунда.
источник