Как запустить скрипт при запуске, который требует пароля?

Я выполняю ubutu на пи малины 3

У меня есть сценарий, который работает как корень, когда человечность загружается. Чтобы тот сценарий работал правильно, мне нужен пароль. Другими словами, мой сценарий запускается как:

#!/bin/bash

myPassword=(cat /root/foo/psw.txt)  # get password from disk
....
... etc

Я защитил свой пароль путем выполнения:

sudo chown root:root /root/foo/psw.txt
sudo chmod 700 /root/foo/psw.txt

Благодаря той команде только пользователь root может считать файл /root/foo/psw.txt.

Но согласно этому вопросу:

Корневое владение и эксклюзивный доступ подразумевают шифрование?

это означает что, если кто-то, где взять SD-карту и читать из диска, они найдут пароль на простом тексте!

Таким образом, мой вопрос состоит в том, как я могу передать пароль своему сценарию надежно так, чтобы, если кто-то, где читать из SD-карты, они не найдут пароль?

От чтения и исследования в Интернете все говорят для не хранения пароля.

Таким образом, решение состоит в том, чтобы загрузить пароль? Если я загружаю пароль, который означает, что кто-то еще может загрузить пароль. Позволяет говорят, что я загружаю пароль, и он шифруется. Я должен буду сохранить другой пароль для нешифрования того файла, и меня оставят с другим паролем.

1
задан 30 March 2018 в 07:23

1 ответ

У меня есть сервер A и мое пи малины B. У людей есть доступ к B но не к A. Другими словами, сервер A находится на облаке, тогда как пи малины находится на офисном здании. Это - шаги для решения проблемы:

  1. Генерируйте и закрытый ключ с открытым ключом на сервере A.

    ssh-keygen -t rsa -b 4096

  2. Установите SSH на rapberry пи B и поместите открытый ключ, сгенерированный в шаг 1 (id_rsa.pub) в

    /root/.ssh/authorized_keys

    (не, что authorized_keys является файлом НЕ, каталог и он содержит открытый ключ),

  3. Разрешите, чтобы ssh вошли ТОЛЬКО в использование RSA на B

    PasswordAuthentication no RSAAuthentication yes AuthorizedKeysFile /root/.ssh/authorized_keys

  4. Теперь A может получить доступ B не храня паролей на B

    ssh -i </path/to/privateKey> root@raspberryPiIpAddress

  5. Итак, когда B начальные загрузки это отправит уведомление A. A затем упакует безопасное соединение SSH в ящики в B. A отправит команды, который должен быть выполнен B через ssh.

0
ответ дан 8 December 2019 в 01:47

Другие вопросы по тегам:

Похожие вопросы: