Prime Minister Kevin Rudd has made a surprise visit to troops in Afghanistan, marking Remembrance Day at a ceremony in Tarin Kowt.