With the vigorous development of information and communication technology, mobile internet has undergone tremendous changes. How to achieve global coverage of the network has become the primary problem to be solved. GEO satellites and LEO satellites, as important components of the satellite–ground network, can offer service for hotspots or distant regions where ground-based base stations’ coverage is limited. Therefore, we build a satellite–ground network model, which transforms the satellite–ground network resource allocation problem into a matching issue between GEO satellites, LEO satellites, and users. A GEO satellite provides data backhaul for users, and a LEO satellite provides data transmission services according to users’ requests. It is important to consider the relationships between all entities and establish a distributed scheme, so we propose a three-sided cyclic matching algorithm. It is confirmed by a large number of simulation experiments that the method suggested in this research is better than the conventional algorithm in terms of average delay, satellite revenue, and number of users served.