Я использую Ubuntu 10.04 в 2 виртуальных машинах. В одной машине я установил Гудзон, и другая машина должна выполнить klocwork. Сценарий - когда я инициировал сборку в Гудзоне, сценарий должен выполнить успешный и назвать Klocwork в VM2. В сценарии сборки я дал следующую команду для вызова Klocwork в машине 2.
if [ $Klocwork = "true" ]; then
echo "Starting Klocwork Report ..."
sshpass -p 'password' ssh IP-address "sudo chmod 755 /local path/build_script_kw.sh;/local path/build_script_kw.sh $SVNID $Version"
fi
echo "Build Successfully."
когда я запускаю скрипт, я добираюсь Host key verification failed
ошибка. Предоставьте мне решение для этой проблемы.Спасибо.
Можно пропустить строгое использование проверки проверки ключа хоста после команды.
sshpass -p '<your_password>' ssh <your_server_ip> -o StrictHostKeyChecking=no
Примечание, которое выше команды решит Вашу проблему, когда ключ не будет присутствовать в /root/.ssh/known_host
файл, но если более старый ключ будет присутствовать, чем Вы, должны удалить это сначала следующей командой
ssh-keygen -R hostname
В первый раз, когда Вы соединяетесь с другой системой, Вам покажут цифровой отпечаток ключа шифрования удаленной системы (который, если Вы чувствуете себя параноиками, можно проверить офлайн).
В удаленной системе, команда ssh-keygen -lf /etc/ssh/ssh_host_rsa_key
покажет цифровой отпечаток, который нужно показать в первый раз, когда Вы соединяетесь с ним.
, Когда Вы подтверждаете, что это - ожидаемый цифровой отпечаток, он хранится в файле $HOME/.ssh/known_hosts
наряду с названием удаленной системы, так, чтобы, при попытке соединиться снова и найти ключ, изменился, Вас предупреждают, что удаленная система была изменена, или Ваша связь прерывается (вряд ли, но все еще...).
В этом случае, Вы, возможно, переустановили удаленную систему (таким образом, она имеет новый ключ SSH, но то же имя), и следовательно Вас предупреждают, что она изменилась.
Для исправления этого необходимо удалить существующую запись из known_hosts
файл. Если Вы не возражаете попроситься снова подтверждать идентификационные данные других машин, Вы соединяетесь с, можно просто удалить known_hosts
, и они будут воссозданы в следующий раз, когда Вы используете SSH. С другой стороны, можно использовать эти ssh-keygen
команда для удаления незаконного ключа путем выполнения ssh-keygen -R HOSTNAME
(где HOSTNAME
название удаленной машины).