我需要在ssh会话期间执行多个操作。目前我正在使用ImageView
和SSH.start
分别进行远程操作和上传。这是一个例子:
SCP.start
问题在于,每次操作都需要重新建立SSH连接,这会影响整体性能。
有没有办法打开会话,然后执行所有必需的操作,如命令,上传和下载?
答案 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
方法启动新会话。