Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.FTN.DEVELOP
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.FTN.DEVELOP с датами от 12 Jul 13 20:52:30 до 18 Oct 24 22:48:06, всего сообщений: 2735
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 240 из 2735 ==================================== RU.FTN.DEVELOP =
От   : Pavel Gulchouck                  2:463/68           23 Jan 14 18:25:44
Кому : Ivan Agarkov                                        23 Jan 14 18:25:44
Тема : Fido over SSL
FGHI : area://RU.FTN.DEVELOP?msgid=2:463/68+52e14616
На   : area://RU.FTN.DEVELOP?msgid=2:5020/849.1+52e13fd4
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.FTN.DEVELOP?msgid=2:5020/849.1+52e171c6
==============================================================================
Hi Ivan!

23 Jan 14, Ivan Agarkov ==> Pavel Gulchouck:

IA> Pavel Gulchouck писал(а) Ivan Agarkov в 18:01 17 янв 14

PG>> У binkd в unstable-ветке (которая 1.1) я сделал возможность соединения
PG>> через пайп - в частности, через ssh с авторизацией по rsa-ключу. По
PG>> крайней мере, под юниксами работает. В принципе такой функциональности
PG>> достаточно, и не нужно делать собственный TLS, и проще с
PG>> совместимостью между разным софтом.

IA> Сейчас потрогал ssh и не нашел, как там организовать пайп. VPN - можно, туннель порт2порт - можно. А пайп - как?

Со стороны клиента - просто запускаешь ssh на нужный хост. Можно добавить -T для уверенности, что не будет создаваться pty.
Можно явно указать, какой ключ использовать (опцией -i). Лучше добавить "-o BatchMode=yes", чтобы быть уверенным, что он не захочет ничего спрашивать.

Со стороны сервера - прописываешь публичный ключ того, кому доверяешь, в ~/.ssh/authorized_keys, и перед ключом говоришь, например,
command="/usr/local/sbin/binkd -i -f 2:463/68 -a ${SSH_CONNECTION%% *} /etc/fido/binkd.conf"
и тогда на входящее соединение запускается binkd с указанными параметрами, и на stdin/stdout он получает то, что будет у клиентского ssh, соответственно, на stdout/stdin.
Параметр ${SSH_CONNECTION%% *} должен отработать bash, для других шеллов нужен другой синтаксис. А вообще, он нужен только для того, чтобы передать binkd IP-адрес удалённой стороны; в принципе это делать необязательно, либо binkd может его узнать самостоятельно из той же переменной $SSH_CONNECTION.
Поскольку ключ - достаточная авторизация, дополнительно проверять пароль в протоколе binkp смысла нет, и адрес звонящего узла можно указать явно ключом -f.

IA> Второй косяк: пайпы обычно таки буферизированные.

Нет, обычно они, как раз, не буферизированные, как и сокеты.
И в данном конкретном случае тоже.

              Lucky carrier,
                           Паша
                           aka  gul@gul.kiev.ua
--- GoldED+/LNX 1.1.5
* Origin: Опыт - это то, что мы получаем вместо того, что хотели (2:463/68)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.088487 секунды