One of the most frequent questions I get is, "how do you take pictures of people you don't know?" It's a common problem but one easily overcome if you stop being so self-conscious. Human beings like to feel safe, it's a built in survival mechanism and for the most part, serves us well. But if you want to take your photography to the next level, especially when shooting travel photos or street portraits, you have to push yourself to get what you want. How? You just ask! Most people are willing to help and are often flattered if you ask to take their picture; of course, you have to ask in the right way. It pays to be nice, complimentary and genuine. The excitement and enthusiasm you show will be obvious and contagious so that people will WANT to help you. Here's the trick: nobody knows you; for all they know you could be one of the most famous photographers in the world, so pretend to be a famous photographer, or at least pretend to be a professional on assignment. By pretending to be someone else, you short-circuit your self conscious and it allows you to get over your survival instinct about approaching strangers. You also have to pick the right time to ask; don't interrupt someone when they are obviously busy. When you do shoot, be quick about it, continue talking with your subject, get to know them a little. Afterwards, thank them. You may want to offer to email them the best picture and if you do make that offer, be good to your word and follow through by sending the image (otherwise you ruin it for the next photographer wanting to take their picture).
Finally, you will get people who say no. So what! There are always more people to photograph. Just remain courteous, thank them and walk away.
The rewards of asking strangers to be your portrait subject far outweigh that little voice in your head warning you not to ask. So go ahead, pretend you're someone else and ask away!