SSH协议可以用作安全的通用数据端口吗?

时间:2013-11-27 21:31:12

标签: networking ssh libssh2 libssh

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

libssh和libssh2都支持此功能。

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