Net::SSHで作成された次のポートフォワーディングがあります。
def connectToCustomerSystem
Net::SSH.start("localhost", 'myuser', :password => "password") do |ssh|
logger.debug ssh.exec!("hostname")
ssh.forward.local(1234, "www.capify.org", 80)
#ssh.loop { true } #dont use loop to directly render director/index
end
render :controller => "director", :action => "index"
end
ここで、新しい他の方法で「ssh.forward.cancel_local(1234)」を介してこの接続をキャンセルします。
def disconnectForwarding
ssh.forward.cancel_local(1234)
end
ただし、もちろん、このコンテキストでは「ssh」は無効です。タイプが「Net::SSH」の利用可能なすべてのオブジェクトを検索するにはどうすればよいですか?または、特定の転送を終了する方法は他にありますか(最終的には、一部の異なるユーザーには多くの転送があり、特定のユーザーだけを殺したくないためです)。
前もって感謝します。