-1

我正在编写一个客户端/服务器程序,它需要在两台机器之间创建一个安全的网络管道,并使用证书来识别它们。SSH 协议似乎与此完美匹配——其内置的安全性、对双方身份验证的支持以及成熟度是一大优势。它还可以通过使用一个开放连接来连接多个通用端口来复用连接。

这个想法是创建一个永远在线的连接(这些程序在客户端和服务器之间有一条专用线路),并在我需要时打开一个端口。SSH协议可以这样使用吗?我将如何将 libssh 合并到我的程序中以支持它?

4

2 回答 2

1

您甚至可以使用 OpenSSH 的 -M/ControlMaster 功能尝试这种功能。

libssh 和 libssh2 都支持此功能。

一点点:SSH 不使用证书,它使用私钥/公钥。

于 2013-12-08T16:12:02.757 回答
1

你可以使用 libssh 来做到这一点。您创建一个 ssh 会话,并且您可以为每个端口打开一个用于端口转发的通道。看

http://api.libssh.org/stable/libssh_tutor_forwarding.html

于 2013-12-08T16:08:15.860 回答