code: func (c *NodeClient) listenAndForward(ctx context.Context, ln net.Listener, remoteAddr string) {
  	defer ln.Close()
  	defer c.Close()
  
  	for {
  		// Accept connections from the client.
  		conn, err := ln.Accept()
  		if err != nil {
  			log.Errorf("Port forwarding failed: %v.", err)
  			break
  		}
  
  		// Proxy the connection to the remote address.
  		go func() {
  			err := c.proxyConnection(ctx, conn, remoteAddr)
  			if err != nil {
  				log.Warnf("Failed to proxy connection: %v.", err)
  			}
  		}()
  	}
  }
docs: // listenAndForward listens on a given socket and forwards all incoming
  // commands to the remote address through the SSH tunnel.