def remote_shell(&block)
      each_dest.map do |dest|
        shell = if dest.scheme == 'file'
                  LocalShell
                else
                  RemoteShell
                end

        shell.new(dest,self,&block)
      end
    end
def remote_shell(&block)
      each_dest.map do |dest|
        shell = if dest.scheme == 'file'
                  LocalShell
                else
                  RemoteShell
                end

        shell.new(dest,self,&block)
      end
    end
Creates a remote shell with the destination server.

 @yield [shell]
   If a block is given, it will be passed the new remote shell.

 @yieldparam [LocalShell, RemoteShell] shell
   The remote shell.

 @return [Array<RemoteShell, LocalShell>]
   The remote shell. If the destination is a local `file://` URI,
   a local shell will be returned instead.

 @since 0.3.0