a small eating place right off the dock in skagway ( we were docked next to the rock wall ) was a wonderful place that had fantastic fish and chips with a nice cold glass of alaskan beer. it was heaven and very reasonable in price. that is the only time i ate off the ship.
I don't get to Ketchikan very often so I don't have any recommendations..
There's not many good Mexican restaurants in Southeast Alaska so I frequently eat at the Travel Lodge in Juneau.. and it is near the airport which is convenient for me. The Alaskan Hotel in downtown is good.
In Ketchikan, try the Burger Queen, restaurant for the best onion rings in the world. It may seem like a "greasy-spoon" and not very appealing on the outside, but the people who operate it did a great job on our meal there. Once on the pier, walk through the roadway tunnel and Burger Quuen is on the right. If you have a port-side cabin you will probably see it from the ship.
Four years ago when we took our first cruise, my wife was so sea sick that morning coming into Ketchikan, all she could do was pray for the gangway to go over. After walking around for awhile, we visited a Creek Street and asked about lunch. She said a lot of the locals ate at Burger Queen. So we hiked over in the rain to eat there. After we ordered we looked out at the window and saw the Galaxy there and we woth laughed saying we had paid thousands for a cruise that had almost 24-hr per day gourmet food to end up in a burger place eating onion rings and a delicious burger cooked to order.
At leat she wasn't sea sick when we left port tht afternoon!!