2014-10-29 5 views
1

Я пытался понять это. Я надеюсь, что кто-то может помочь. Я написал пакетный скрипт для файлов SCP с сервера Unix и сохранил их на сервере Windows. У меня есть ключ. Однако сервер все еще спрашивает меня о «пароле». Вот мой сценарий ниже, я надеюсь, кто-то может увидеть, что я делаю неправильно с моими параметрами? Были установлены ключевые государственные и частные. Я смог войти в систему с помощью шпатлевки, используя ключ. Однако, пытаясь использовать скрипт, он все еще спрашивает меня о пароле. Это похоже на то, что сервер не видит отпечатка пальца.Использовать закрытый ключ в скрипте WinSCP SCP

winscp.com /command "option batch abort" "option confirm off" 
"open scp://[email protected]/ -hostkey=""ssh-rsa fingerprint""" 
"get /var/log/CPbackup/backups/R77 backup file* D:\fwlogbackups\*" 

ответ

1

Вы не указали в команде open в закрытого ключа. Используйте для этого -privatekey= switch.

Вы, вероятно, путаете переключатель -hostkey=. Это используется для проверки открытого ключа сервера.
См. Verifying the host key.

В случае, если вы указали отпечаток открытого ключа вашей учетной записи в -hostkey=, вам необходимо обновить его до отпечатка открытого ключа сервера.
См Where do I get SSH host key fingerprint for use with scripting or .NET assembly?


НТБ, вам не хватает в кавычки пути с пробелами в команде get.
Это должно быть, как:

"get ""/var/log/CPbackup/backups/R77 backup file*"" D:\fwlogbackups\*" 

Полная командная строка должна быть как:

winscp.com /command^
    "open scp://[email protected]/ -privatekey=""path\mykey.ppk"" -hostkey=""ssh-rsa fingerprint"""^
    "get ""/var/log/CPbackup/backups/R77 backup file*"" D:\fwlogbackups\*"^
    "exit" 

(The option команды больше не нужны в последних версиях WinSCP).

+0

Благодарим за исправления. Я запутался. Я внес изменения, теперь другая проблема все еще присутствует. Он все еще спрашивает меня пароль? Он все еще не видит ключ после -privatekey = "" ssh-rsa –

+0

@StanStewart. '-privatekey' должен быть установлен с ключом к файлу закрытого ключа, а не отпечатка пальца открытого ключа. Я добавил полный образец командной строки к моему ответу. –

+0

Спасибо. Я внес изменения в сценарий. Однако он все еще спрашивает у меня пароль. ugh –

Смежные вопросы