Definitely... is this something you're wanting to address now? I looked at Chef::Knife::Ssh, and it looks like it uses a MultiSession.via to configure the gateway. There may be some way to reconcile the two, but I'd have to dig some more in net::ssh to figure out how to do the tcp_test_ssh call with a MultiSession.