Команда автоматического ввода пароля для pscp

Я хочу скопировать некоторый файл в удаленную систему Linux с моего ПК с Windows, используя pscp (шпатлевки). Я написал небольшой скрипт, который вызывает команды pscp таким образом:

"C:UsershpDesktoppscp.exe" -scp C:UsershpDesktopscripts* root@192.168.1.177:/root/scripts
"C:UsershpDesktoppscp.exe" -scp C:UsershpDesktopscripts2* root@192.168.1.177:/root/scripts2 

pause

но когда я запускаю этот скрипт bat, меня просят ввести пароль, поэтому я ввожу пароль вручную.

есть ли способ ввести пароль автоматически через пакетный файл?

5 ответов


из putty документация

5.2.2.6 -ПВ пароля войти с указанным паролем

Если для подключения к хосту требуется пароль, PSCP будет интерактивно подскажите вам для этого. Однако, это не всегда соответствующий. Если вы используете PSCP как часть некоторого автоматизированного задания, это невозможно будет ввести пароль вручную. Опция-pw для PSCP позволяет указать пароль для использования в команде линия.


pscp -pw yourPasswordHere C:\Users\testUser\Downloads\test.sh testUser@123.123.123.123:/home/testUser

Я заметил, что никто не опубликовал образец этой команды с опцией-pw.


вы можете разобраться в этом сами. Используйте /? опция для просмотра справки. Соответствующие части включены ниже.

>pscp /?
PuTTY Secure Copy client
Release 0.60
Usage: pscp [options] [user@]host:source target
       pscp [options] source [source...] [user@]host:target
       pscp [options] -ls [user@]host:filespec
Options:
......
  -l user   connect with specified username
  -pw passw login with specified password
......

использовать -l и -pw параметры для указания пользователя и пароля.

итак, пока это отвечает на конкретный вопрос, который вы задали, реальная возможность для вас-узнать, как получить документацию из утилит командной строки.


используйте putty для настройки удаленного входа без пароля. Это будет связано с командой puttygen. Вам понадобится закрытый ключ, а цели-открытый ключ. После того, как вы проверили, что у вас есть хороший файл закрытого ключа и логин без ввода пароля, вы можете ссылаться на него с помощью опции "-i" закрытый ключ на pscp. Вы можете настроить ключ без putty connect, если это не разрешено, но это самый простой способ. Просто скажите " нет " паролям в ясно:

C:\Users\riglerjo>pscp -i .ssh\rigler_rsa.ppk test.txt rigler@rigler.org:.
test.txt                  | 0 kB |   0.0 kB/s | ETA: 00:00:00 | 100%

sshpass -p'password' pscp -A -H "ip" -t 20 -l root /var/www/html/temp_santosh.txt /tmp/

можно использовать sshpass С перед pscp