1

Я просмотрел все эти форумы и либо не нашел ответа на этот вопрос, либо, чаще, вопрос другой.

Клиент 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: $!";

Но это похоже на грубый хак. Брелок труднодоступен, но потенциально может быть очень приятным. Я не могу представить, что нет НЕТ чистого способа получить к нему доступ.

0