Ubuntu Server: Don't see my input in terminal

I have a problem with my Ubuntu server. I start a new remote ssh session (from windows putty or ubuntu client) to my server. After a while (I think it is when I hide the console window), my input is not shown in the console. But when I type for example "ls", I get the listing.

This means that the input was sended, but I don't see it. I can only close the console and start a new ssh session. But the next annoying point is, that when I start a new screen and I have this problem there, it don't go away after reconnecting. I have to restart the screen bash.

Does anyone have an idea whats going wrong? It seems that it is a problem on the server, because I tried with windows and linux with the same result.

thanks plucked


This can happen after a program dies leaving a terminal in an abnormal state. To fix it temporary you "reset" the terminal with:

$ reset

While @rkthkr's answer worked for me, it has the unfortunate side-effect of changing my terminal window dimensions from what they were - which in some cases, I suppose this may also have been corrupted and also in need of a reset.

With this in mind, I'm using:

$ stty sane

From man stty:

   sane   same as cread -ignbrk brkint -inlcr -igncr icrnl  -iutf8  -ixoff
          -iuclc  -ixany  imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret
          -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon  iexten  echo
          echoe  echok  -echonl  -noflsh  -xcase  -tostop -echoprt echoctl
          echoke, all special characters to their default values

In my particular case, using pv -c (pipe viewer) consistently caused my input to go hidden. For now, I've actually scripted a stty sane command after my command that uses pv -c to ensure that my terminal remains functional.