我可以在同一个SSH会话期间使用exec并上传吗?

时间:2015-10-09 03:51:13

标签: ruby ssh scp

我需要在ssh会话期间执行多个操作。目前我正在使用ImageViewSSH.start分别进行远程操作和上传。这是一个例子:

SCP.start

问题在于,每次操作都需要重新建立SSH连接,这会影响整体性能。

有没有办法打开会话,然后执行所有必需的操作,如命令,上传和下载?

1 个答案:

答案 0 :(得分:1)

SSH协议允许每个连接多个通道。从技术上讲,这是可能的。

我不知道Ruby net-ssh实现,但是它的API似乎支持这个。

constructor of Net::SCP class需要一个现有的SSH会话。

# Creates a new Net::SCP session on top of the given Net::SSH +session+
# object.
def initialize(session)

因此,请将现有的Net::SSH实例传递给Net::SCP构造函数,而不是使用.start方法启动新会话。