LINUX.ORG.RU
ФорумAdmin

[SSH] модификация отправляемых на сервер команд

 


0

1

Заявленное в теме нужно в связи с реализацией бредовой идеи: «умный терминал» + автодополнение на стороне клиента. (Критика самой идеи не принимается, оно надо, и надо от меня, но не мне). Очевидно, привязываться к конкретному терминалу не следует, и это должна быть обычная консольная программа.

Итак, были испробованы методы:
1. «helper» | ssh %h %p. Но «Pseudo-terminal will not be allocated because stdin is not a terminal» меня не устраивает. Это, наверное, можно обойти шаманством с созданием tty, но с этой темой я пока ближе «man tty» не знаком.

2. ProxyCommand. Ну, тут и говорить не о чем, ProxyCommand перенаправляет не сам текст, а трафик SSH, который весь, кроме заголовков, шифруется.

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

Вот, собственно, вопросы:
1. Это же не противоречит модели безопасности SSH?
2. Реализуем ли малой кровью первый метод?
3. Или есть более хороший?

Ответ на: комментарий от val-amart

Старался как можно внятнее, а получилась ерунда.
Сформулирую конкретнее:
почти все действия пользователя (т.е. нажатия клавиш) следует передавать как есть.
Но, например, Tab мы отлавливаем и в каком-то меню сами предлагаем варианты автодополнения. Для этого нам надо незаметно для пользователя время от времени в фоне к серверу запросы (ls, база locate).

Felagund
() автор топика
Ответ на: комментарий от val-amart

Pyssh с 2004 года не развивается, если я не ошибаюсь.

И упомянутого в документации pyssh.py я в архиве не нашёл.

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

мне знакомый хвалил позапрошлую убунту, за то, что она умеет при настроенной авторизации по ключам автокомплитить пути на удалённом хосте.

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

Это про zsh и его автодополнение путей в scp я знаю. Спасибо, но надо не это.

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

>2. Реализуем ли малой кровью первый метод?

man expect. Но неплохо бы подумать, что подумает, например, удалённый vim о тех командах, которые ты передашь в расчёте на то, что там shell.

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

воот, я его и имел ввиду. только я на него через pexpect вышел, когда надоело руками писать експект-скрипты для ссх/шелла.

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