code: func (r *remoteExec) Start(ch ssh.Channel) (*ExecResult, error) {
  	// hook up stdout/err the channel so the user can interact with the command
  	r.session.Stdout = ch
  	r.session.Stderr = ch.Stderr()
  	inputWriter, err := r.session.StdinPipe()
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	go func() {
  		// copy from the channel (client) into stdin of the process
  		io.Copy(inputWriter, ch)
  		inputWriter.Close()
  	}()
  
  	err = r.session.Start(r.command)
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	return nil, nil
  }
docs: // Start launches the given command returns (nil, nil) if successful.
  // ExecResult is only used to communicate an error while launching.