2014-02-10 4 views
0

У меня есть сценарий bash, среди прочего, попытки SCP-файла с текущего хоста (Windows/Cygwin) на удаленный хост (Suse).Почему скрипт wont bash выполняется Maven SCP моим файлом?

Когда я запускаю скрипт в Cygwin сам, скрипт отлично работает. Передает файл через SCP, затем SSH на удаленную машину для запуска некоторых дополнительных команд (для развертывания файла на сервере приложений).

Когда сценарий запускается Maven как часть сборки Jenkins CI, он терпит неудачу с ошибкой в ​​отношении отклонения пары ключей.

Из журнала работы Дженкинс:

Host key verification failed. 
lost connection 
+0

Это потому, что процесс jenkins запускается как другой пользователь unix, у которого могут не быть одинаковые ключи, хранящиеся в каталоге '~/.ssh'. – anubhava

+0

Я передаю файл ключа с флагом ssh -i, пользователь правдоподобен, если пользователь maven/jenkins не может прочитать этот файл по какой-либо причине. Есть ли способ запустить cygwin в качестве пользователя Windows, который будет иметь полный доступ к системе? Или, возможно, сделать ключ доступным для всех пользователей в cygwin? – DaFoot

+0

Ах 'cygwin' Извините, не очень хорошо это знаю. – anubhava

ответ

1

Пусть ваша работа выполняется один раз с StrictHostKeyChecking:

scp -o 'StrictHostKeyChecking no' ... 

Это будет регистрировать что-то вроде:

Warning: Permanently added '<host>, <ipaddr>' (<keytype>) to the list of known hosts. 

После этого, удалите StrictHostKeyChecking.

+0

sborsky - вы только что сделали мою неделю! – DaFoot

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