code: func ForwardAgentConnections(l net.Listener, s Session) {
  	sshConn := s.Context().Value(ContextKeyConn).(gossh.Conn)
  	for {
  		conn, err := l.Accept()
  		if err != nil {
  			return
  		}
  		go func(conn net.Conn) {
  			defer conn.Close()
  			channel, reqs, err := sshConn.OpenChannel(agentChannelType, nil)
  			if err != nil {
  				return
  			}
  			defer channel.Close()
  			go gossh.DiscardRequests(reqs)
  			var wg sync.WaitGroup
  			wg.Add(2)
  			go func() {
  				io.Copy(conn, channel)
  				conn.(*net.UnixConn).CloseWrite()
  				wg.Done()
  			}()
  			go func() {
  				io.Copy(channel, conn)
  				channel.CloseWrite()
  				wg.Done()
  			}()
  			wg.Wait()
  		}(conn)
  	}
  }
docs: // ForwardAgentConnections takes connections from a listener to proxy into the
  // session on the OpenSSH channel for agent connections. It blocks and services
  // connections until the listener stop accepting.