Go to Ecruteak City. Go to the house to the right of the city where the Kimono Girls are. Beat all of them and then speak to the man with the Rhydon in that same room. He will give you surf.
Chat with our AI personalities
Surf to the right until you find an island he should be there
Simply go to pallet town and surf south
Pokemon Crystal only contained seven HMs. The 8th HM Rock smash isn't available until later generation games. The HM one can get in Pokemon Crystal are cut, fly, whirlpool, waterfall, strength, flash, and surf.
Most if not all water Pokemon should be able to plus a few extra ones such as a couple of normal type Pokemon.
In Pokemon Crystal you can get the HM for Surf in Ecruteak City. The HM for Surf is a reward from an Old Man for defeating the Kimono Girls. The Kimono Girls can be found in the large building next to the pool of water.