安全聊天隧道

我想创建一个安全聊天连接并通过Ubuntu终端或类似netcatnc -l 1234 )的隧道,但netcat未加密。

您可以通过SSH隧道传输:

  1. host1上

     $ 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的场景 ,你可能会找到你寻找的function。

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 :8080 -t /var/enc/chat 

虽然有很多方法可以将更新的post提供给文件,但Google代码托管的PHP尾部源代码看起来像是一个很有前途的地方,可以开始向客户端提供最后几条消息,以便他们在本地提取和解密。

最后是设置解密的客户端连接,已经为已经提供的批量解密编写了一个帮助脚本 。 客户端需要建立一个像下面这样的连接来将服务的加密数据转储到可访问的位置(现在,但是很快就会从命名管道解密工作;-))提示你想知道/dev/tcp/host/port/dev/tcp//8080 )可以像文件描述符一样使用的路径…就像我说的那样需要一些特殊的酱。 但它非常接近成为一个完整的解决方案与上面和一些独创性,你可以有私人聊天,使用GnuPG混合加密保护,只有那些需要私钥的人才能访问。

请注意,上述内容非常具有实验性,不应与主键备注一起使用,因此请查看帮助程序脚本以快速生成新的测试密钥备注。

编辑/更新

虽然以上可能仍然有效,但由于管道到管道和其他function已经解决,第二版可能需要更少的特殊酱汁,检查前面提到的构建日志以查看它的实际运行情况。