【发布时间】:2013-12-09 14:38:40
【问题描述】:
我正在编写一个客户端/服务器程序,它需要在两台机器之间创建一个安全的网络管道,并使用证书来识别它们。 SSH 协议似乎与此完美匹配——它内置的安全性、对双方身份验证的支持以及成熟度是一大优势。它还可以通过使用一个开放的连接来连接多个通用端口来复用连接。
这个想法是创建一个永远在线的连接(这些程序在客户端和服务器之间有一条专用线路),并在我需要时打开一个端口。 SSH协议可以这样使用吗?我将如何将 libssh 合并到我的程序中以支持它?
【问题讨论】:
-
你能用
scp吗?我真的不明白“在需要时打开端口”。 -
看看
ssh的端口转发功能。 -
@admdrew:
scp会复制文件,但我正在寻找数据传输,更像是它的本机端口转发。 -
@chepner:这几乎是我想做的,但我希望能够保持活动连接并打开和关闭端口,例如当在客户端执行命令 X 时,客户端将使用现有连接打开到服务器的端口,执行命令并返回结果。
-
一件重要的事情我忘了提:客户端机器不应该能够在服务器上执行远程命令——它不应该有访问实时 shell 的权限,或者除了打开之外做任何事情这些数据端口。
标签: networking ssh libssh2 libssh