
Есть два варианта:
1. Иметь 1-2 постоянных пароля. Но, если уведут один пароль -- сразу взломают много ваших аккаунтов.
2. Иметь на каждый сервис свой сложный пароль. Но их невозможно запомнить.
Предлагаю вам воспользоваться PGP / GnuPG (OpenPGP-совместимым) шифрованием, т. е. хранить всего один зашифрованный файл с вашими аккаунтами.
Для этого нам понадобится несколько вещей:
1. Флешка для хранения приватного ключа;Установим pgpgpg.
2. Программа pgpgpg;
3. Небольшой скрипт на bash'е.
# aptitude install <strong>pgpgpg</strong>
Генерируем пару ключей.
$ pgpgpg -kg
Программа предложит выбрать тип ключа. Выбираем первый вариант.
Выберите тип ключа:
(1) <strong>DSA</strong> и <strong>ElGamal</strong> (по умолчанию)
(2) <strong>DSA</strong> (только для подписи)
(5) <strong>RSA</strong> (только для подписи)
Ваш выбор (?-подробнее)? 1
Далее, выбираем длину ключа. Чем она больше, тем надёжнее ключ. Мы же суровые линуксойды, потому выбираем по максимому. :)
Какой размер ключа Вам необходим? (2048) 4096
Указываем срок действия ключа -- без срока действия.
Выберите срок действия ключа.
0 = без ограничения срока действительности
<n> = срок действительности n дней
<n>w = срок действительности n недель
<n>m = срок действительности n месяцев
<n>y = срок действительности n лет
Ключ действителен до? (0)
Ключ не имеет ограничения срока действительности
Все верно? (y/N)
Создаём идентификатор пользователя.
Ваше настоящее имя: Sergey Blohin Email-адрес: <a class="linkification-ext" href="mailto:sblohin@yandex.ru" title="Linkification: mailto:sblohin@yandex.ru">sblohin@yandex.ru</a> Комментарий: linux administrator
Если всё верно, то идём дальше. Задаём пароль для приватного ключа. Дальше система сгенерирует пару ключей. Обычно это длится несколько минут.
Сменить (N)Имя, (C)Комментарий, (E)email-адрес или (O)Принять/(Q)Выход?
Для защиты секретного ключа необходим пароль.
После того, как у нас сгенерированы ключи уже можно ими пользоваться.
Но прежде сохраним их на флешке, ибо, если мы потеряем приватный ключ -- расшифровать наши пароли будет уже невозможно. Для этого надо экспортировать в файл ключи из системы.
$ pgpgpg -kx my_private_pgp_key
$ pgpgpg -kxa my_public_pgp_key
Копируем оба файла на флешку и удаляем их с компьютера (они всё равно в системном хранилище ключей останутся.
Хранение личных паролей.
Создаём обычный текстовый файл и вписываем в него наши данные аккаунтов.
<p>$ echo "-e" "yandex.ru yandex_login yandex_password\n" >> "my_pass" 2> "/dev/null"
$ echo "-e" "mail.ru mail_login mail_password\n" >> "my_pass" 2> "/dev/null"
$ echo "-e" "visa_card card_holder pin_code\n" >> "my_pass" 2> "/dev/null"
Теперь этот текстовый файл надо зашифровать.
Указываем свой e-mail, который мы указывали при создании ключей.
$ pgpgpg "-e" "my_pass"
Введите User ID. Пустая строка для завершения:
После шифрования мы получаем 2 файла. Наш исходный my_pass, который уже можно удалить и my_pass.pgp, который и хранит в себе в зашифрованном виде наши пароли.
Как достать ключи из зашифрованного файла.
$ pgpgpg "-d" "my_pass.pgp"
Вводим пароль ключа и получаем наш исходный my_pass.
Автоматизирование процесса добавления паролей в файл.
Создаём небольшой скрипт.
$ > add-password.bash
$ chmod "+x" "add-password.bash"
$ vim "add-password.bash"
Внутри файла:
#!/bin/bash declare "-r" FILENAME="my_pass" declare "-r" ERR_FILE="/dev/null" declare "-r" SERVICES="$1" declare "-r" USERNAME="$2" declare "-r" PASSWORD="$3" declare "-r" PGP_USER="<a class="linkification-ext" href="mailto:sblohin@yandex.ru" title="Linkification: mailto:sblohin@yandex.ru">sblohin@yandex.ru</a>" pgpgpg "-d" "$FILENAME".pgp 2>> "$ERR_FILE" rm "$FILENAME".pgp 2>> "$ERR_FILE" echo "-e" "$SERVICES" "$USERNAME" "$PASSWORD" >> "$FILENAME" 2>> "$ERR_FILE" pgpgpg "-e" "$FILENAME" "$PGP_USER" 2>> "$ERR_FILE" rm "$FILENAME" 2>> "$ERR_FILE" echo "-e" "Done"Добавляем аккаунт в файл:
$ add-password.bash yandex.ru yandex_login yandex_password
$ add-password.bash mail.ru mail_login mail_password
По аналогии и читаем.
#!/bin/bash declare "-r" FILENAME="my_pass" declare "-r" ERR_FILE="/dev/null" declare "-r" SERVICES="$1" pgpgpg "-d" "$FILENAME".pgp 2>> "$ERR_FILE" cat "$FILENAME" 2>> "$ERR_FILE" | grep "-i" "$SERVICES" 2>> "$ERR_FILE" rm "$FILENAME" 2>> "$ERR_FILE"
Вот и всё. :)
Комментариев: 5 RSS
1phpdreamer24-04-2010 21:12
truecrypt избавит от этого лишнего гемороя
2svet24-04-2010 22:44
ну, каждому - своё :) главное, что есть выбор и есть возможность :)
3Ubuntu16-10-2010 15:53
Чего делать?
4svet16-10-2010 20:31
лучше использовать //www.keepassx.org/ , если не хватает опыта с консолью. Всё-таки, достойный инструмент :)
5УбунуХейтер09-06-2011 11:59
думать головой
Вы можете войти под своим логином или зарегистрироваться на сайте.