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