As I understand it, A* is a general form of Djikstra where the selection of the next node to visit can be based on something other than the actual distance. For example, with Djikstra, you’d use a priority queue ordered ascending by distance and shift off the head of the queue to decide where to visit next. But with A*, the order of the priority queue can be based off of the actual distance and/or another factor (the heuristic). The heuristic is considered admissible if the value it returns is guaranteed to be equal to or less than the actual distance. In other words, Djikstra is a form of A* where the heuristic always returns the actual distance.
So, what is a concrete example of an admissible A* heuristic?
It seems like writing a heuristic function that always returns an equal to or lesser value than the actual distance would require some magical insight about the graph obtained if I already knew the shortest distances.