Вы не говорите, как запускаете программу под ssh.
Если вы делаете это за один шаг, например
ssh localhost myprogram
тогда возможно, что терминал не выделяется, что обычно приводит к тому, что выходные данные вашей программы буферизуются в блоке вместо буферизации строки.
Вы можете избежать этого, используя переключатель -t
на ssh
(проверьте руководство, чтобы убедиться):
ssh -t localhost myprogram
Если, с другой стороны, вы используете отдельный шаг для запуска вашей программы
ssh localhost
myprogram
тогда вряд ли это будет причиной.