Как передать пароль на scp? - PullRequest
231 голосов
/ 08 сентября 2008

Я знаю, что это не рекомендуется, но возможно ли вообще передать пароль пользователя в scp?

Я бы хотел скопировать файл через scp как часть пакетного задания, и принимающему серверу, конечно же, нужен пароль, и нет, я не могу легко изменить его на аутентификацию на основе ключей.

Ответы [ 14 ]

1 голос
/ 22 ноября 2016

Вы можете использовать ssh-copy-id для добавления ключа ssh:

$which ssh-copy-id #check whether it exists

Если существует:

ssh-copy-id  "user@remote-system"
0 голосов
/ 19 февраля 2018

шагов для получения sshpass для rhel / centos 6:

# wget http://epel.mirror.net.in/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
# yum install sshpass

источник: https://community.mapr.com/thread/9040

0 голосов
/ 25 февраля 2014

Я нашел этот действительно полезный ответ здесь .

rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/

Не только вы можете передать туда пароль, но и он покажет индикатор выполнения при копировании. Действительно потрясающе.

0 голосов
/ 16 сентября 2008

В качестве альтернативы можно добавить открытую половину ключа пользователя в файл авторизованных ключей в целевой системе. В системе, из которой вы инициируете передачу, вы можете запустить демон ssh-agent и добавить частную половину ключа к агенту. Затем пакетное задание можно настроить на использование агента для получения закрытого ключа, а не запрашивать пароль ключа.

Это должно быть выполнимо либо в системе UNIX / Linux, либо на платформе Windows, используя pageant и pscp.

...