You'll need to use Network Analyst for this. The first thing you will need to do is turn your lines into a network. The Network Analyst Tutorial exercise 1 covers this, but be aware it may not go into sufficient depth, as there are geometry and topology considerations to take into account. Why isn't the service layer shape properly spread out? touches on some of the issues about network connectivity and may help you figure out why things aren't working if you run into issues. Since you're only concerned with distance, and that's an inherent property of the lines that become network edges, you don't have to worry about calculating travel times (length/speed limit) or anything if you don't have those attributes already.
Once you have a network you can run a Closest Facility analysis, as Cindy mentioned in her comment. Exercise 4 of the tutorial covers this, and reviewing the help files will also give good background. Your transit stops will be your incidents and your schools your facilities. The solver can take two separate point files for these in a case like yours, or the same file for both (all schools to other schools). It will then generate a route from every transit stop to the nearest school. You can also set it to go to the nearest two or more schools if you like, say if you wanted to compare just how much farther away it would be.
If you were looking at distances from a transit stop to all schools, or from every one point to every other point, you might consider an OD Cost Matrix solve. See that linked question for distinction between the two, and also the note that it can't generate routes. Since you want the routes, Closest Facility is the way to go.
Note that the results are not written to a file by default, so if you want all those routes as a feature class/shapefile you'll need to export them (simple as right-clicking the layer) once you've run the solver.
We have several questions on Closest Facility and other Network Analyst related issues, so if you run into specific problems you may find the answer here already, or you can ask a new, specifically focused question on the issue.