Komenda WinSCP „put” kończy się niepowodzeniem z „Nie można uwierzytelnić” - działa w GUI

1

Używam WinSCP do kopiowania plików na serwer.

Używamy go z GUI.

Chcę teraz zautomatyzować ten krok i korzystać z WinSCP z wiersza polecenia.

Niestety jesteśmy „Nie można uwierzytelnić”.

Oto odpowiedni fragment dziennika umożliwiający uwierzytelnienie za pomocą GUI:

! 2017-03-04 00:23:05.959 Using username "goofy".
. 2017-03-04 00:23:06.115 Server offered these authentication methods: publickey,password,keyboard-interactive
. 2017-03-04 00:23:06.115 Attempting keyboard-interactive authentication
. 2017-03-04 00:23:06.162 Prompt (keyboard interactive, "SSH server authentication", "Using keyboard-interactive authentication.", "Password: ")
. 2017-03-04 00:23:06.162 Using stored password.
. 2017-03-04 00:23:06.333 Prompt (keyboard interactive, "SSH server authentication", <no instructions>, <no prompt>)
. 2017-03-04 00:23:06.333 Ignoring empty SSH server authentication request
. 2017-03-04 00:23:06.380 Access granted

Oto odpowiedni fragment dziennika, który nie został odrzucony przez wiersz poleceń:

! 2017-03-04 00:10:33.353 Using username "goofy".
. 2017-03-04 00:10:33.400 Server offered these authentication methods: publickey,password,keyboard-interactive
. 2017-03-04 00:10:33.400 Attempting keyboard-interactive authentication
. 2017-03-04 00:10:33.431 Prompt (keyboard interactive, "SSH server authentication", "Using keyboard-interactive authentication.", "Password: ")
. 2017-03-04 00:10:33.431 Using stored password.
. 2017-03-04 00:10:33.587 Keyboard-interactive authentication failed
! 2017-03-04 00:10:33.587 Access denied
. 2017-03-04 00:10:33.587 Server offered these authentication methods: publickey,password,keyboard-interactive
. 2017-03-04 00:10:33.587 Attempting keyboard-interactive authentication
. 2017-03-04 00:10:33.665 Prompt (keyboard interactive, "SSH server authentication", "Using keyboard-interactive authentication.", "Password: ")
. 2017-03-04 00:10:33.665 Disconnected: Unable to authenticate

Oto linia poleceń, której używamy:

"%winscp%" /ini=nul ^
           /log=C:\TEMP\winscplog.txt ^
           /command "open sftp://goofy:[email protected]/ -hostkey=""ssh-rsa 2048 d4:1c:1a:4c:c3:60:d5:05:12:02:xx:xx:xx:xx:xx:xx""" ^
           "put ""%outfile%"" /home/public/uploadarea/%basename%" ^
           "exit"

Uwaga: umieszczanie hasła w wierszu poleceń nie jest dobrą praktyką, więc nie należy traktować tego jako najlepszej praktyki, jeśli używasz go jako przykładu.

Michael Potter
źródło

Odpowiedzi:

1

Zobacz Dlaczego nie mogę się połączyć / przesłać za pomocą skryptu, skoro mogę korzystać z GUI?


Wyodrębnianie części, które mogą być dla Ciebie odpowiednie:

Włącz rejestrowanie hasła i upewnij się, że to samo hasło jest używane w GUI i skryptach.

W graficznym interfejsie użytkownika można włączyć preferencje logowania przy użyciu hasła . W skryptach można użyć /loglevel=*przełącznika wiersza polecenia .


Możesz także poprosić GUI o wygenerowanie szablonu skryptu .


Jeśli to nie pomoże, musimy zobaczyć pełny plik dziennika sesji dla GUI i skryptu.

Martin Prikryl
źródło
To było złe hasło spowodowane moim odrętwieniem zepsucia snu. Wygenerowanie skryptu i porównanie mojej linii poleceń dzisiaj boleśnie wyjaśniło, że powinienem po prostu iść spać.
Michael Potter