A razão para o seu terminal se comportar desta maneira é porque ele está enviando códigos de teclas que seu sistema não reconhece como códigos apropriados para as teclas que você pressiona (o que resulta em ações estranhas ou não).
Você precisa definir uma string terminfo correta no emulador de terminal ou no cliente SSH. Essa string informa ao sistema quais são as capacidades do seu emulador de terminal / cliente SSH, quais códigos são atribuídos a quais teclas, todas as seqüências especiais, etc. Se isso for definido incorretamente, você experimentará falhas como teclas de seta fazendo coisas estranhas, teclas de seta fazendo não o que devem, falta de suporte para modificadores shift / alt / ctrl, falta de suporte para teclas F e assim por diante.
Infelizmente, você não publicou nenhuma informação adicional sobre o que exatamente você está fazendo, então não posso ajudá-lo ainda mais. Meu conselho final é, se você estiver usando PuTTY para se conectar a um servidor remoto - use KiTTY (PuTTY fork com recursos adicionais e erros fixos de códigos de tecla) junto com um arquivo KiTTY terminfo que pode ser encontrado em GitHub Eu fiz que você deve instalar no seu sistema remoto. Por favor, esteja ciente de que há também um emulador de terminal do kitty como um aplicativo nativo, não um fork do PuTTY.