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

Управление паролями должно быть простым и понятным.

Это учетные данные, заголовки, веб-адреса, заметки и другие данные в зашифрованном файле.

Мы можем использовать эти инструменты, описанные ниже для простого управления нашими учетными данными.

Мы можем управлять отдельными файлами паролей, которые очень легко идентифицировать и сортировать.

Эти инструменты предоставляют возможности для редактирования, добавления, генерации и извлечения паролей.

Они содержит очень короткий и простой сценарий оболочки.

В этой статье я расскажу о инструментах Password Manager.

1. Passmgr

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

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

По истечении этого времени буфер будет удален.

Все учетные данные хранятся в AES256-GCM, зашифрованном в одном файле, который находится в домашнем каталоге пользователей.

Ключ шифрования для этого файла выводится из ключевой фразы с использованием scrypt.

Предварительные условия

Установка Go
Xclip или Xsel должны быть установлены

Перед установкой Passmgr нам необходимо выполнить эти предварительные условия.

Установка Go

 # yum update
# wget https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz
# tar -xzvf go1.6.2.linux-amd64.tar.gz -C /usr/local/ 

Я загрузил пакет для 64-битной архитектуры. Вы можете создать рабочую папку с переменной окружения.

 # cd /root
# mkdir go
# cat /etc/profile.d/goenv.sh
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
# source /etc/profile.d/goenv.sh
# go version
go version go1.6.2 linux/amd64 

Установка Xclip или Xsel

Чтобы включить эти команды на сервере CentOS 7, нам необходимо установить эти пакеты зависимостей.

# yum install libX11.x86_64
# yum install libX11-devel.x86_64
# yum install libXmu.x86_64
# yum install libXmu-devel.x86_64
# wget ftp://mirror.switch.ch/pool/4/mirror/epel/7/x86_64/x/xclip-0.12-5.el7.x86_64.rpm
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/x/xsel-1.2.0-15.el7.x86_64.rpm
# rpm -Uvh xsel-1.2.0-15.el7.x86_64.rpm
warning: xsel-1.2.0-15.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:xsel-1.2.0-15.el7 ################################# [100%]
# rpm -Uvh xclip-0.12-5.el7.x86_64.rpm
warning: xclip-0.12-5.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:xclip-0.12-5.el7 ################################# [100%]

Установка Passmgr

 

После завершения вышеуказанной установки мы можем включить этот инструмент passmgr за один шаг, как показано ниже:

 # go get github.com/urld/passmgr/cmd/passmgr 

Теперь мы можем «passmgr» установить пароль.

 # passmgr
[passmgr] new master passphrase for /root/.passmgr_store:
[passmgr] retype master passphrase for /root/.passmgr_store:
-- store is empty --

Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] a
 Enter the values for the new entry
 User: cryptoparty
 URL: itsecforu.ru
 Passphrase:

n) User URL
 1) cryptoparty itsecforu.ru</pre>

Использование Passmgr

Этот инструмент предоставляет различные параметры для управления паролем.

Мы можем запустить опцию help для просмотра списка параметров.

 # passmgr --help
 Usage of passmgr:
 -add
 store new credentials
 -appTTL int
 time in seconds after which the application quits if there is no user interaction (default 120)
 -clipboardTTL int
 time in seconds after which the clipboard is reset (default 15)
 -del
 delete stored credentials
 -file string
 specify the passmgr store (default "/root/.passmgr_store")

Примеры

Вы можете добавить новые записи в наш инструмент Password Manager с помощью опции -add, как показано ниже:

 # passmgr -add
[passmgr] master passphrase for /root/.passmgr_store: docker

n) User URL
1) Saheetha linoxide.com

Enter the values for the new entry
User: user@example.com
URL: work.example.com
Passphrase:

n) User URL
1) cryptoparty itsecforu.ru
2) user@example.com work.example.com

Мы можем хранить / читать учетные данные в файле с помощью опции -file.

По умолчанию все пароли будут храниться в файле «/root/.passmgr_store».

Мы можем прочитать файл паролей для конкретной записи, используя эту команду, как показано ниже.


# passmgr -file /root/.passmgr_store
[passmgr] master passphrase for /root/.passmgr_store:

n) User URL
1) cryptoparty itsecforu.ru
2) user@example.com work.example.com
3) testuser website.com

Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] 1
Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] S
Select: 1

Passphrase copied to clipboard!
Clipboard will be erased in 15 seconds.

Мы можем использовать опцию фильтра, чтобы ограничить наш поиск по определенной строке, как показано ниже:

 # passmgr
[passmgr] master passphrase for /root/.passmgr_store:

n) User URL
1) cryptoparty itsecforu.ru
2) user@example.com work.example.com
3) testuser website.com
4) test test.com

Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] f
Filter: test

n) User URL
3) testuser website.com
4) test test.com 

Фильтр можно сбросить, оставив его пустым.

Чтобы удалить запись, мы можем использовать опцию d или delete. См. пример ниже:

 # passmgr
[passmgr] master passphrase for /root/.passmgr_store:

n) User URL
1) cryptoparty itsecforu.ru
2) user@example.com work.example.com
3) testuser website.com
4) test test.com

Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] d
Delete: 3
Delete all secrets for 'testuser | website.com? [Y/n] y

n) User URL
1) cryptoparty itsecforu.ru
2) user@example.com work.example.com
3) test test.com

Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] q

В этом примере я удалил запись «testuser» из моего диспетчера паролей.

2. Titan

Titan — еще один инструмент управления паролями командной строки, который может использоваться в любом из Unix операционных систем.

Он использует библиотеку OpenSSL для выполнения шифрования.

Шифрование AES используется с 256-битными ключами.

В базе данных паролей титана он защищен от несанкционированного доступа с помощью кода аутентификации сообщения с ключом-хэшем (HMAC).

Во время шифрования используется уникальный, криптографически случайный вектор инициализации.

Новый вектор инициализации генерируется каждый раз, когда база данных паролей зашифровывается.

Titan использует SQlite для хранения паролей. Схема базы данных проста и легка.

Установка Titan

 # yum install sqlite-devel.x86_64 sqlite-tcl.x86_64
# yum install openssl-devel
# git clone https://github.com/nrosvall/titan.git
# cd titan/
# make
# make install 

Использование Titan

Titan также предоставляет некоторые опции для управления паролями через командную строку. Давайте рассмотрим несколько из них :

 # titan --init /home/passwords/passwd.db 

Вы можете указать пароль для защиты этой базы данных при создании.

Теперь вы можете добавить все необходимые записи в эту базу данных с помощью опции -add или just -a, как показано ниже:

 # titan --add
Title: Work
Username: cryptoparty
Url: itsecforu.ru
Notes: Admin notes
Password (empty to generate new):

Наша база данных должна быть расшифрована для добавления записей.

Чтобы расшифровать ее, вы можете использовать опцию titan —decrypt [путь к базе данных].

Теперь мы можем выполнить:

 # titan --decrypt /home/passwords/passwd.db 

Для просмотра добавленных записей вы можете использовать опцию «-list-all».

# titan --list-all
=====================================================================
ID: 1
Title: Work
User: cryptoparty
Url: itsecforu.ru
Password: **********
Notes: Admin notes
Modified: 2017-07-08 15:11:56
=====================================================================

После добавления всех возможных записей вы должны зашифровать свой пароль.

Мы можем просто запустить эту команду для ее шифрования.

 # titan --encrypt /home/passwords/passwd.db

Для получения дополнительной информации см. man titan или titan —help.

Также можно рассмотреть другой менеджер паролей командной строки «Passhole»,который использует базы данных KeePass.

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *