Here's a function that prompts for a password with echoing turned off. Note the technique using a separate tcgetattr() call and a try ... finally statement to ensure that the old tty attributes are restored exactly no matter what happens:
def getpass(prompt = "Password: "): import termios, TERMIOS, sys fd = sys.stdin.fileno() old = termios.tcgetattr(fd) new = termios.tcgetattr(fd) new[3] = new[3] & ~TERMIOS.ECHO # lflags try: termios.tcsetattr(fd, TERMIOS.TCSADRAIN, new) passwd = raw_input(prompt) finally: termios.tcsetattr(fd, TERMIOS.TCSADRAIN, old) return passwd