putty.exe
не читает со стандартного ввода и не записывает в стандартный вывод. Это эмулятор терминала, поэтому он принимает ввод с клавиатуры и пишет в окно своего приложения.
Если вы хотите передать данные через стандартные дескрипторы ввода и вывода в соединение ssh, используйте программу plink.exe
, входящую в пакет PuTTY. (Он будет в том же каталоге, что и putty.exe
.) Это не эмулятор терминала, он просто устанавливает ssh-соединение и затем запускает stdin и stdout, аналогично традиционной команде ssh
в Unix-подобных системах.
Возможно, вы даже сможете запустить ssh
вместо plink
, в зависимости от того, какая у вас версия Windows и какие дополнительные пакеты вы установили.
Кроме того, я считаю, что и plink
, и ssh
хотят -i
(нижний регистр), а не -I
(верхний регистр) в качестве опции для указания файла ключа.