Ant: Как избежать паролей SSH? - PullRequest
2 голосов
/ 15 июня 2011

Задача

  • У нас есть сервер, полный контроль над которым
  • У нас есть длинный, сложный сценарий оболочки, который взаимодействует с этим сервером через SCP и SSH
  • У нас есть Ant Target, которая запускает скрипт

упрощенный пример:

<target name="run-script">
    <exec executable="/path/to/script_that_runs_ssh_cmds.sh" />
</target>

Эта цель завершается неудачей со следующим исключением:

ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory


Вопрос

После небольшого исследования я думаю, что это можно исправить, создав пары открытого / закрытого ключей. Таким образом, команда ssh не должна запрашивать пароли. Предполагая, что это решение будет работать, как вы сделаете так, чтобы SSH-вызовы системы использовали ключи вместо запроса паролей? Можно ли настроить это так, чтобы кто-то в нашей команде мог успешно запустить цель Ant со своего ноутбука?

Примечание. Мы все используем OS X 10.6 (Leopard) и физически подключены к той же локальной сети, что и сервер.

1 Ответ

4 голосов
/ 15 июня 2011

Вы можете просто установить закрытый ключ в ~/.ssh, и ssh автоматически заглянет в этот каталог и использовать установленный вами ключ.

На стороне сервера добавьте открытый ключ в ~/.ssh/authorized_keys

...