code: func (i *TeleInstance) NewUnauthenticatedClient(cfg ClientConfig) (tc *client.TeleportClient, err error) {
  	keyDir, err := ioutil.TempDir(i.Config.DataDir, "tsh")
  	if err != nil {
  		return nil, err
  	}
  
  	proxyConf := &i.Config.Proxy
  	proxyHost, _, err := net.SplitHostPort(proxyConf.SSHAddr.Addr)
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	var webProxyAddr string
  	var sshProxyAddr string
  
  	if cfg.Proxy == nil {
  		webProxyAddr = proxyConf.WebAddr.Addr
  		sshProxyAddr = proxyConf.SSHAddr.Addr
  	} else {
  		webProxyAddr = net.JoinHostPort(proxyHost, strconv.Itoa(cfg.Proxy.WebPort))
  		sshProxyAddr = net.JoinHostPort(proxyHost, strconv.Itoa(cfg.Proxy.SSHPort))
  	}
  
  	cconf := &client.Config{
  		Username:           cfg.Login,
  		Host:               cfg.Host,
  		HostPort:           cfg.Port,
  		HostLogin:          cfg.Login,
  		InsecureSkipVerify: true,
  		KeysDir:            keyDir,
  		SiteName:           cfg.Cluster,
  		ForwardAgent:       cfg.ForwardAgent,
  		WebProxyAddr:       webProxyAddr,
  		SSHProxyAddr:       sshProxyAddr,
  	}
  
  	return client.NewClient(cconf)
  }
docs: // NewUnauthenticatedClient returns a fully configured and pre-authenticated client
  // (pre-authenticated with server CAs and signed session key)