Я просмотрел все эти форумы и либо не нашел ответа на этот вопрос, либо, чаще, вопрос другой.
Клиент OS X El Capitan. Я вошел в систему, и мой ключ ssh (с парольной фразой) правильно хранится в цепочке для ключей. Все отлично работает вручную: я могу подключиться по ssh к моему серверу, где я ранее хранил свой открытый ключ, без запроса пароля. OS X загружает его в ssh-agent при входе в систему.
Но, конечно, мой скрипт для ssh на мой сервер не работает в cron моей учетной записи, потому что в среде нет переменной SSH_AUTH_SOCK. Меня спрашивают о парольной фразе.
Я могу заставить его работать без присмотра вот так:
my $sock = `ls /private/tmp/com.apple.launchd.*/Listeners`; chomp($sock);
system("SSH_AUTH_SOCK=$sock /usr/bin/ssh myhost mycommand") && die "blah: $!";
Но это похоже на грубый хак. Брелок труднодоступен, но потенциально может быть очень приятным. Я не могу представить, что нет НЕТ чистого способа получить к нему доступ.