Пользователь Linux motion – запускает его как ssh-ключ как pi на удаленный сервер

Этот вопрос связан с двумя другими вопросами, которые были у меня ранее: о том, чтобы позволить малиневой Pi действовать как датчик движения, который будет пытаться использовать ssh на более мощном сервере, когда он обнаружит движение (чем больше энергии сервер будет выполнять дополнительную обработку через скрипт ). Итак, вот что я сделал:

  • На Raspberry Pi я установил приложение для Linux-приложений
  • Я также использовал ssh-keygen на Raspberry Pi, а затем использовал открытые ключи ssh-copy-id для более мощного сервера, так что Raspberry Pi может ssh на сервер, не вводя пароль.
  • В файле motion.conf есть строка для события on_motion_detected когда движение обнаружено малиной Pi, на этой строке у меня есть что-то вроде:

    ssh user@more.powerful.server '/ exec / some / script / here'

  • Но сценарий на более мощном сервере никогда не выполняется, потому что демон движения работает как пользовательское движение, а не пользователь (pi), который сделал ssh-keygen, который принимает удаленный сервер. Я знаю это потому, что:

  • Если я изменил команду on_motion_detected на:

    on_motion_detected echo hello_world | стена

    эта команда выполняется, и я вижу ее на всех терминалах, которые ssh'd попадают в Raspberry Pi

  • Или, если вместо строки on_motion_detected я просто запускаю ssh user@more.power.server '/exec/some/script/here' в командной строке Raspberry Pi (как пользователь 'pi'), он также запускается сервер.

Итак, вопрос в том, как заставить операционную систему Raspberry Pi «использовать» ключ пользователя «pi», когда пользователь «motion» пытается ssh на более мощный сервер в этом событии on_motion_detected ?

One Solution collect form web for “Пользователь Linux motion – запускает его как ssh-ключ как pi на удаленный сервер”

Один из вариантов – перемещение ваших ssh-ключей от пользователя pi пользователю motion .

(Предполагая, что ваш домашний пользователь pi и motion есть /home/pi и /home/motion )

 # mkdir /home/motion/.ssh/ # cp -a /home/pi/.ssh/* /home/motion/.ssh/ # chown -R motion /home/motion/.ssh/ 

Объяснение:

Если не указано, команда ssh использует ключ в ~/.ssh/id_* , где ~/ является домашним каталогом пользователя, выполнившего эту команду. Итак, если вы запускаете роль пользователя движения, ssh попытается использовать ключ в /home/motion/.ssh/ вместо этого /home/motion/.ssh/ ключ /home/pi/.ssh

  • SSH по IPvanish
  • ssh не может открыть удаленное окно, ошибка сегментации (сбрасывание ядра)
  • Bash: Как создать постоянные строки-заменители в командах Bash?
  • Jumping ssh хосты без netcat
  • ssh X переадресация не работает на компьютерах за пределами локальной сети, когда ControlMaster установлен на авто
  • Быстрое удаление существующего TCP-соединения
  • Проблема с ssh && apt-get, нужна консультация
  • Передача ssh-agent для Vagrant VM
  • Как я могу отключить сеансы SSH?
  • Как выполнить команды Netscaler через удаленную машину через SSH-соединение
  • ssh как суперпользователь
  • Linux и Unix - лучшая ОС в мире.