Как хранить конфиденциальную информацию при использовании каркаса точечных файлов

Я пытаюсь придумать стратегию для хранения моих точечных файлов в Git. На данный момент я создал репозиторий dotfiles на GitHub, и я собрал скрипт установки, который просто клонирует репо, а затем вставляет ссылки на каждый из файлов в мой ~ каталог.

Однако я изо всех сил пытаюсь придумать способ хранения конфиденциальной информации в моих точечных файлах, но в то же время следя за тем, чтобы ни один из них не передавался в Git.

Например, у меня есть мой конфигурационный файл Irssi, в котором у меня есть следующее:

chatnets = {
  Freenode = {
  type = "IRC";
  autosendcmd = "/msg nickserv identify PASSWORD ; wait 2000";
  ...

Теперь, когда я управляю версией этого точечного файла, я не могу сохранить свой пароль непосредственно в этом файле. Это означает, что каждый раз, когда я запускаю Irssi, мне приходится вручную identify с NickServ в качестве PASSWORD очевидно, не мой пароль NickServ.

Я пытался выяснить, есть ли способ включить защищенный файл без контроля версий в конфигурацию Irssi, но я не могу найти никаких решений для этого.

Как я должен хранить мои точечные файлы таким образом, чтобы я мог хранить конфиденциальную информацию, такую ​​как пароли, требуемые точечными файлами вне Git?

Связанное, но не реальное решение: Как передать переменные (пароли) bash в файл конфигурации IRSSI? Использование SASL для Irssi не очень удобно, так как это еще одна вещь для установки в новой системе, и я пытаюсь максимально упростить процесс установки.

1 ответ

Многие программы тем или иным образом поддерживают размещение команд оболочки в своих файлах конфигурации. Например, у меня есть это в моем.neomuttrc:

      set my_fastmail_pass="`gpg -dq ~/.config/neomutt/fastmail-password.gpg`"

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

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