Менеджер паролей для командной строки Linux

Я ищу менеджер паролей для командной строки Linux (Debian/Ubuntu), который будет использоваться отделом разработчиков.

В настоящее время мы используем pwman3 и контент с ним, но хотим перейти на программу, которая не так часто меняет формат своей базы данных несовместимыми способами.

Что мне нужно:

  • должен быть доступен как приложение командной строки Linux (Ubuntu LTS, Debian)
  • надежное хранилище (т. е. хорошее шифрование)
  • возможно централизованное хранилище (подойдет общий ресурс NFS или репозиторий Git), без облака, пожалуйста
  • расположение файла данных должно быть настраиваемым
  • бесплатное программное обеспечение с открытым исходным кодом

Предпочтительные варианты (не обязательные)

  • приятный графический интерфейс
  • содержится в репозиториях Ubuntu (PPA в порядке, подойдет .deb, никаких проблем, если он поставляется .jarили готов к работе .tar.gz, или источник, если не слишком много зависимостей (мы чувствуем себя достаточно подходящими для этого configure && make && check-install;))

Кандидаты пытались, но потерпели неудачу:

  • pwman3 : мы используем его сейчас с центральным файлом БД (общим через NFS), но формат БД был изменен несовместимым образом между Ubuntu 14.04 и 15.10, так что клиенты 14.04 не могут читать БД, хранящуюся в 15.10.
  • pwsafe : клиент командной строки для файлов Password Safe , но, к сожалению, он не обновлялся с 2005 года.
viВсе в порядке ? Если нет, то какие функции вам нужны?
@NicolasRaoul: Например, зашифрованное хранилище паролей. Я не уверен, что vi может это сделать. :-) Мы довольны pwman3, но несовместимые форматы баз данных (например, между Ubuntu 14.04, 15.10 и 16.04) недопустимы.
Существует так много инструментов управления паролями с очень разными функциями, что мы не можем догадаться, чего вы от них ожидаете. Пожалуйста, напишите список требований, спасибо :-) Пожалуйста, прочитайте meta.softwarerecs.stackexchange.com/questions/336/… и отредактируйте свой вопрос. Ваше здоровье!
Для той же самой проблемы (сбор имени пользователя/пароля) мы использовали простой текстовый файл с двумя GPG-скриптами: 1 скрипт только для «просмотра» и 1 для редактирования (добавления/изменения записей). Файл будет зашифрован с использованием открытых ключей всех участников, поэтому каждый разработчик может расшифровать его своим закрытым ключом. Простой подход, без постоянно меняющихся форматов баз данных :)
@NicolasRaoul: Лучше? :-)
@Izzy: Звучит как хорошее решение. Не могли бы вы сделать скрипты доступными где-нибудь?
Не боюсь. Это был клиент, с которым я работал несколько лет назад, и я не создавал сценарии. Но с учетом концепции их создание не должно быть слишком сложным (не то, чтобы я добровольно ;) Подсказка: Шифрование и дешифрование документов — GnuPG и на нашем родственном сайте Шифрование с несколькими разными ключами?
Отличный вопрос сейчас!
Соответствует ли LastPass вашим требованиям открытости? Клиент CLI имеет открытый исходный код (на самом деле, он даже упакован в Debian ), но служба, которую он использует, — нет.
@derobert: Могу ли я установить сервер локально?
@MartinSchröder Насколько я знаю, нет. Но это не было одним из ваших требований (хотя, возможно, так и должно быть).
@derobert: вопрос обновлен: «Пожалуйста, без облака»

Ответы (3)

Круптос

Я также был недоволен большинством менеджеров паролей и хотел минималистичную альтернативу командной строке, поэтому я создал Kruptos . Kruptos просто шифрует и расшифровывает ~/.kruptos/каталог. Это дает несколько преимуществ:

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

Применение

Kruptos имеет 3 части функциональности:

  • Инициализировать : создать ~/.kruptos/и ~/.kruptos/.phrazeinс мастер-паролем по умолчаниюpswd
    • Первая строка .phrazein— мастер-пароль.
  • Зашифровать : сжать, зашифровать, а затем удалить ~/.kruptos/, что создает архив.
  • Расшифровать : расшифровать, распаковать, а затем удалить .kruptos.tar.gz.aes, что создает каталог
+===============+===========+
| Functionality | Command   |
+===============+===========+
| Initialize    | kruptos i |
+---------------+-----------+
| Encrypt       | kruptos e |
+---------------+-----------+
| Decrypt       | kruptos   |
+===============+===========+

Код

function kruptos
{
    if [[ $# -eq 1 ]]; then
        DOWHAT="$1"
    else
        DOWHAT="d"
    fi
    if [[ $DOWHAT == "d" ]]; then
        #Decrypt
        pushd . &>/dev/null
        cd ~/
        openssl aes-256-cbc -d  -in .kruptos.tar.gz.aes | tar -xz -f - --strip-components=2 && rm ~/.kruptos.tar.gz.aes
        popd &>/dev/null
    elif [[ $DOWHAT == "e" ]]; then
        #Encrypt
        tar -zcf - ~/.kruptos | openssl aes-256-cbc -out ~/.kruptos.tar.gz.aes -kfile ~/.kruptos/.phrazein && rm -r ~/.kruptos
    elif [[ $DOWHAT == "i" ]]; then
        #Initialize
        mkdir ~/.kruptos
        echo pswd > ~/.kruptos/.phrazein
    else
        echo "$DOWHAT is not an acceptable flag"
    fi
}

Истоки

Круптос

Истоки Круптоса

Фразеин

введите описание изображения здесь

KeePass

KeePass доступен по адресу http://keepass.info/ . Существует клиент командной строки http://kpcli.sourceforge.net/ или Java API, поэтому вы можете создать свой собственный.

Я использую его уже много лет, и он хорошо работает на Mac, Win и Linux.

Пропустите меня

Я сделал менеджер паролей для командной строки. Просто установите его с помощью:

sudo apt install python3-pip  
sudo pip3 install passme

Он хранит информацию о «seed for password» в текстовом файле, и вы можете управлять им с помощью git. Он создает ваш пароль из «seed for password» и мастер-пароля, который вы помните. Он также может создать html-файл для использования с вашего мобильного устройства.

Для чего вам нужно:

  • Он доступен из командной строки Linux.
  • Сохраняется только «начальное число для пароля», которое не раскрывает ваш пароль, если не известен ваш мастер-пароль.
  • Он использует только один текстовый файл, которым легко управлять с помощью репозитория git.
  • Местоположение файла данных настраивается.
  • лицензия Массачусетского технологического института

Чтобы получить больше информации: