Mam zbudowany sshpass na Cygwin. Działa idealnie z poziomu okna terminalu Cygwin:
sshpass -p password ssh -o StrictHostKeyChecking=no user@host
Jednak dokładnie to samo polecenie z wiersza polecenia systemu Windows nie generuje danych wyjściowych.
Próbowałem nieinteraktywnego polecenia, aby sprawdzić, czy to zadziałało, ale nie zadziałało:
sshpass -p password ssh -o StrictHostKeyChecking=no user@host ls
Oba działają dobrze ze środowiska Cygwin, ale nie z wiersza polecenia systemu Windows. Działają z wiersza polecenia systemu Windows, ale nie ma danych wyjściowych. Wiem to, ponieważ mogę wydawać polecenia z cmd.exeokna i widzieć efekty na zdalnym hoście. Również zwykły ssh(Cygwin) działa dobrze z wiersza polecenia systemu Windows.
Jak mogę uzyskać dane wyjściowe, sshpassgdy są używane w wierszu polecenia systemu Windows?
c:\cygwin\usr\bini c:\cygwin\usr\local\binw swojej %PATH%. Mój działa, ale wykazuje zachowanie opisane w tym pytaniu. Używam, StrictHostKeyCheckingaby uniknąć szybkiej oferty przyjęcia nieznanego klucza, którego nie zobaczysz, jeśli go użyjesz sshpass- po prostu nie powiedzie się. Proponuję zbudować zwykły stary sshwiersz poleceń i upewnić się, że działa on czysto przed dodaniem tego wiersza polecenia sshpass -p password. Sprawdziłem mój zarówno z poziomu terminalu Cygwin (który działa dobrze), jak iz wiersza polecenia systemu Windows (który pokazuje opisany problem).