There is a direct train from Glasgow to Mallaig train station, which is situated on the mainland of Scotland just next to Skye and the journey takes around 5 hours. From here, take the CallMac ferry to get to Armadale, which is on the Isle of Skye. The ferry ride lasts around 30 minutes.