3

Я пытаюсь установить сценарии запуска Raspberry Pi на моем Mac, который находится в той же локальной сети.

SSH включен на Pi. Я создал ключ ssh, чтобы ssh не запрашивал пароль или пароль с помощью ssh-keygen.

Я могу ввести следующее в терминале на моем Pi, и он работает без пароля или пароля. Отлично!

ssh Me@192.168.1.5 osascript Applescripts/myscript.scpt

Он работает в терминале, но не работает, если я пытаюсь использовать его в conf-файле triggerhappy, предположительно потому, что triggerhappy - это пользователь Nobody, а не я. Понял. Как мне это исправить? Я не парень из Unix, поэтому любые особенности очень ценятся!

Я попытался сохранить ключ ssh в файл в tmp/sshkey для всех, установив права доступа 400 и пользователю никто, и, конечно же, перезагрузив triggerhappy.

ssh -i /tmp/sshkeyfornobody Me@192.168.1.5 osascript Applescripts/myscript.scpt

Но это все еще не работает, возможно, потому что у пользователя Никто не имеет доступа к папке tmp? К каким папкам никто не имеет доступа для сохранения ключа ssh?

ЕДИНСТВЕННАЯ функция этого Raspberry Pi будет в качестве контроллера для моего универсального пульта дистанционного управления с использованием инфракрасного ключа Flirc, который Pi видит в качестве клавиатуры. Я знаю, что Flirc работает правильно, потому что у меня есть серия команд curl, назначенных горячим клавишам с помощью triggerhappy, и они отлично работают на моем Pi (и для тех, кто не знаком, Flirc превосходен!).

Я новичок в Unix, Raspbian и т.д., Поэтому я надеюсь, что вы простите мое отсутствие знаний здесь. Не стесняйтесь объяснять вещи, потому что я ищу ответ, но в равной степени мне интересно учиться.

1 ответ1

2

Я ответил на свой вопрос. Измените триггерного пользователя по умолчанию на pi или root. На Пи это по адресу:

/etc/default/triggerhappy Просто раскомментируйте параметр пользователя, чтобы изменить его с none на root, как описано в файле:

# The Triggerhappy daemon (thd) drops its root privileges after
# startup and becomes "nobody". If you want it to retain its root
# status (e.g. to run commands only accessible to the system user),
# uncomment the following line or specifiy the user option yourself:
#
# DAEMON_OPTS="--user root"

Раскомментируйте эту последнюю строку и перезапустите triggerhappy. Это так просто. Это может не всем использоваться, но в моем случае это идеально, потому что у моего Pi есть только одна цель: он служит в качестве элемента управления, подключая мой IoT к универсальному пульту с помощью USB-приемника Flirc IR. Итак, я нажимаю кнопку на моем универсальном пульте дистанционного управления, и Flirc говорит моему Пи сделать Ctrl +1 нажатием клавиши, который запускается в виде команды.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .