Безопасный чат туннель

Я хочу создать безопасный чат и туннель через терминал Ubuntu или что-то вроде netcat (nc -l 1234) но netcat не зашифрован.

2 ответа

Решение

Вы можете туннелировать трафик через SSH:

  1. На хосте 1

    $ nc -l 127.0.0.1 1234
    
  2. На host2

    $ ssh host1 -L 1234:localhost:1234
    $ nc localhost 1234
    

ssh Команда перенаправляет все TCP-соединения с порта host2 1234 на один порт host1.

Обратите внимание, что ниже вы должны будете применить какой-то особый соус, но если вы посмотрите журналы сборки проекта, над которым я работаю, для шифрования GnuPG и, в частности, сценария для sshfs, вы можете найти нужные вам функции.

Ответ Eero Aaltonen по-прежнему полностью действителен и, вероятно, лучше для простых одноразовых подключений. Но если вы хотите что-то с GnuPG, то вышеупомянутый проект предоставляет интерфейсы шифрования, необходимые для этого, в основном.

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

Var_gpg_recipient_options переменная должна быть добавлена ​​с дополнительными получателями, как показано ниже

Paranoid_Pipes.sh Var_gpg_recipient_options="${Var_gpg_recipient_options} --recipient second-user@host.domain" --help

Настройте другие параметры и удалите --help и это касается зашифрования, передача выходного файла нескольким клиентам не может быть выполнена с помощью netcat, но у php есть способ его обслуживания.

php -S <Local_IP>:8080 -t /var/enc/chat

И хотя существует множество способов подачи обновленных сообщений в файл, исходный код PHP- кода, размещенный на Google Code, выглядит как многообещающее место для начала доставки последних нескольких сообщений клиентам, которые они могут извлекать и дешифровать локально.

Последнее - это настройка клиентских подключений, которые расшифровываются, есть вспомогательный скрипт, который был написан для массовой расшифровки, уже предоставленный. Клиенты должны установить соединение, как показано ниже, чтобы выгрузить обслуживаемые зашифрованные данные в доступное местоположение (на данный момент, но работа над расшифровкой по именованным каналам уже ведется;-)) Подсказка, о которой вы хотите знать /dev/tcp/host/port (/dev/tcp/<serving_IP>/8080) пути, которые можно использовать как файловые дескрипторы... как я уже говорил, требуется немного особого соуса. Но это очень близко к тому, чтобы быть полным решением с вышеупомянутым и некоторой изобретательностью, у вас могли бы быть частные чаты, которые защищены гибридным шифрованием GnuPG и доступны только для тех, кому требуются закрытые ключи.

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

Изменения / Обновления

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

Другие вопросы по тегам