пятница, 22 января 2010 г.

Синхронизация паролей между Lin&Win машинами

На работе на win машине имеется ~10 паролей для работы с машинами заказчика.
Все они разные и сложные по требованиям безопасности, те без возможности запомнить. А без них никуда.
Часто приходится работать из дома , а там уже Gentoo linux.
Поэтому задумался , как мне получить все эти пароли дома.
Единственный кроссплатформенный менеджер паролей, который я нашел оказался keepass.
Итак, устанавливаю:

keepass по сути обладает всеми нужными качествами для менеджера паролей:
  • умеет хранить пользователей , пароли, url
  • не светит их в явном виде при копировании, а использует буфер обмена
  • генерирует пароли по шаблону
  • висет в трее и вызывается по горячей клавише
  • Имеет порт на linux/win
Выглядит keepass вот так:

После установки остается минимум - синхронизировать базу паролей между машинами. Обе машины естественно находятся за NAT
Наиболее подходящим сервисом для этого оказался dropbox.
Ставим его на обе машины и задаем директорию в которую он будет синхронизировать данные между машинами
Далее в gentoo я просто сделал симлинку на базу паролей из /etc в дропбокс директорию,
На win же пришлось сохранять базу прямо в директории dropbox

Собственно все - теперь пароли доступны на обоих машинах.Синхронизация выполняется автоматически при обновление файла базы паролей.

Что в этой схеме хорошо:
  • работает на разных платформах
  • синхронизация выполняется автоматически при обновление любой информации в базе

Что не очень:
  • при запущенном keepass на виндовсе создается lock файл для базы данных, который конечно тоже синхронизируется.При открытии синхронизированной базы на другой машине его приходится удалять. Почему было не сделать создание lock файла только в момент записи в базу ??
Update: для решения проблемы с отменой синхронизации лок файла можно сделать следующее.По совету Александр сделал хардлинк на базу данных с паролями на винде следующей командой :
fsutil hardlink create "C:\Program Files\keepass\database.kdb" "C:\My Dropbox\keepass\database.kdb"
Оригинал базы хранится в C:\Program Files\keepass\. На нее создается ссылка в C:\My Dropbox\keepass. Таким образом, при открытии базы лок файл создается в тоже же директории что и база. А "C:\My Dropbox\keepass" продолжает содержать только базу, которую дропбокс и синхронизирует.

В следующей 2.x версии keepass добавлена синхронизация паролей между машинами.Однако эта версия доступна только под win. Поэтому пишем свой велосипед или используем то что есть :)

19 комментариев :

  1. А более простые варианты:
    Закодированный файлик.
    Или веб-сервис для хранения паролей?

    ОтветитьУдалить
  2. файлик не подходит , потому что я буду светить все пароли, когда буду открывать его чтобы скопировать пароль.Это очень неудобно, когда возле моего рабочего места кто-то стоит.
    А фишка менеджера паролей именно в том - что не не показывает пароли в явном виде, а копирует нужный пароль в буфер обмена
    сервис отличная идея. Но его ведь надо писать и , хостинг опять же:)
    Я был бы двумя руками за использовать уже готовый сервис, но ничего такого не нашел :)

    ОтветитьУдалить
  3. Я использую в линуксе revelation, а для винды пишу свою программу (на лиспе). Формат файлов одинаковый.

    ОтветитьУдалить
  4. Этот комментарий был удален автором.

    ОтветитьУдалить
  5. keepass 2 работает под моно, криво (кодировки, хотя глубоко не копал) но работает.

    ОтветитьУдалить
  6. Засада с этими локфайлами :(

    ОтветитьУдалить
  7. ->keepass 2 работает под моно, криво
    обязательно попробую.Если заведется, наверное так и останусь.

    ОтветитьУдалить
  8. ->Засада с этими локфайлами :(
    да, не очень удобно. Костыль конечно, но достаточно просто закрывать keepass на работе уходя домой, и наоборот :) Тогда локи сами удаляются.
    Но я же блин привык все сутками держать включеным. И не один я такой, наверное

    ОтветитьУдалить
  9. ->Я использую в линуксе revelation, а для винды пишу свою программу

    а можно ссылку на исходники,для винды попробовать? А вдруг оно отлично покатит

    ОтветитьУдалить
  10. Можно даже готовую сборку.

    http://github.com/andy128k/PassStorage/downloads

    ОтветитьУдалить
  11. Такой сервис не смотрел?
    https://www.keymemo.com

    Вот статья на Хабре:
    http://habrahabr.ru/blogs/i_am_advertising/79997/

    ОтветитьУдалить
  12. попробовал http://keymemo.com/ - не открывается у меня :(
    а статья на хабре заинтриговала.Только не понятно, какой клиент используется для хранения паролей - стендалон или броузер

    ОтветитьУдалить
  13. открылся наконец http://keymemo.com - скажу я , отличный сервис:
    1. быстрый интерфейс
    2. есть генератор паролей
    для удобства страничку можно открывать в отдельном окне.Жалко только что по горячей клавише нельзя быстро вызвать.И импорт данных бы не помешал для удобной миграции
    Попробую попользоваться.Так как идея и реализация то что надо
    Спасибо за ссылку!

    ОтветитьУдалить
  14. ->Можно даже готовую сборку.
    попробовал :) Больше всего скорость работы впечатлила.У меня программа все окошки открывает просто ядерно. А так если генератор паролей прикрутить и попап меню по правому, чтобы пароль копировать - будет огонь программа.
    Судя по тому , что еще две только сборки публичных, это еще все впереди будет.
    А под линукс будет сборка?

    ОтветитьУдалить
  15. генератор паролей в ближайших планах. Скопировать пароль можно Ctrl+Shift+C, скопировать логин -- Ctrl+C.

    Сама программа под линуксом разрабатывается, то есть сборка будет. Пока можно тот же revelation использовать.

    P.S. На всякий случай делайте бэкапы :).

    ОтветитьУдалить
  16. ->В винде тоже есть нардлинки (см. http://ru.wikipedia.org/wiki/Жёсткая_ссылка)

    Попробал, отлично работает.Проблема с локами вроде решена.Осталось проверить , так сказать , под нагрузкой пару дней :)
    Проапдейтил основной пост, вдруг кому пригодится

    ОтветитьУдалить
  17. А я по привычке использую password gorilla + dropbox. Схема та же. Написан на Tcl/Tk и выглядит ужасно, но не менять же его теперь :)

    ОтветитьУдалить
  18. ->А я по привычке использую password gorilla + dropbox.
    ну да, главное что работает, а внешний вид это уже на любителя.Мы ж не самые распоследние красноглазики :)

    ОтветитьУдалить