Я пытаюсь вытащить файл с сервера Solaris на свой Linux сервер, и я успешно это сделал используя scp
. Я хочу запустить эту команду ниже как задание cron, Как я могу сохранить пароль для этой автоматизации для передачи файлов из Solaris в Linux?
scp -r root@serverA.com:/usr/abc/* /home/def/
Password:
Но каждый раз запрашивается пароль. Я уже сгенерировал набор открытых и закрытых ключей ssh на своей машине для моего пользователя с помощью:
ssh-keygen
И скопировал свой открытый ключ на удаленный хост:
ssh-copy-id root@serverA.com
Примечание: Я успешно запустил его на cron
, когда оба сервера являются Linux-серверами. Проблема с сервером Solaris перед сервером Linux. Здесь мой локальный сервер - это Linux, а удаленный - это сервер Solaris.
Надеюсь, вы посмотрели вот это:
http://docs.oracle.com/cd/E19253-01/816-4557/sshuser-33/index.html
Также посмотрите man-страницу вашего ssh-клиента, возможно, вам придется принудительно установить протокол версии 1.
Для начала, насколько я понимаю, он не работает даже в интерактивном режиме. попробуйте флаги -v
, начните с одного
ssh -v root@serverA.com
затем, если это вам ничего не скажет
ssh -vv root@serverA.com
в крайнем случае:
ssh -vv root@serverA.com
Обратите внимание, что я всегда находил проблему, используя только один -v
.
Если он работает из командной строки с ключами, то одна ситуация, которую я вижу, заключается в том, что вы запускаете cron с другим пользователем, а не тем, который извлекает файлы.
вы можете изменить свою команду на:
ssh -i <ssh_private_key> -r root@serverA.com:/usr/abc/* /home/def/