ฉันใช้ WinSCP เพื่อคัดลอกไฟล์ไปยังเซิร์ฟเวอร์
เราใช้มันกับ GUI
ตอนนี้ฉันต้องการอัตโนมัติขั้นตอนนี้และใช้ WinSCP จาก commandline
น่าเสียดายที่เราเป็น "ไม่สามารถตรวจสอบสิทธิ์"
นี่คือส่วนของบันทึกที่เกี่ยวข้องไม่สามารถตรวจสอบกับ 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
นี่คือส่วนของบันทึกที่เกี่ยวข้องไม่ให้ถูกปฏิเสธโดย commandline:
! 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
นี่คือ commandline ที่เราใช้:
"%winscp%" /ini=nul ^
/log=C:\TEMP\winscplog.txt ^
/command "open sftp://goofy:changeme@10.20.10.225/ -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"
หมายเหตุ: การใส่รหัสผ่านของคุณลงบน commandline นั้นเป็นวิธีที่ไม่ดีดังนั้นโปรดอย่าใช้สิ่งนี้เป็นแนวปฏิบัติที่ดีที่สุดหากคุณใช้ตัวอย่างนี้