Настраиваем URL Overrides в Keepass2

346b1c0395f843f18a1e2666598efd4f.png

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

По специфике моей работы мне часто приходится записывать и хранить большое количество паролей и другой конфиденциальной информации, поэтому я пользуюсь Keepass2 — менеджером паролей со свободной лицензией. Я не стану рассказывать о его возможностях и преимуществах перед другими, все это и так уже обсуждалось не раз. Если кто хочет познакомиться подробнее, вот несколько ссылок: wiki, обзорная статья, сравнения с другими: 1 2.
Вместо этого я хотел бы рассказать об одной его интересной функции:

Функция называется «URL Overrides», и представляет ссобой возможность запускать ассоциированные с записями программы и передавать им данные для аутентификации прямо из Keepass’а.

Например, вы можете хранить в keepass’е список учеток для подключения к удаленному серверу, а в определенный момент выбрать нужную и простым нажатием Ctrl+U, запустить клиент удаленного подключения, и моментально получить доступ к вашему серверу.
Это очень удобно, так как все логины и пароли не хранятся абы где, а надежно зашифрованны в вашей базе keepass и передаются программе-клиенту только в момент подключения.

Идея состоит в том, что бы использовать Keepass как единую точку входа на все удаленные сервера.


Как это работает? (GIF 2.4M)
88a7fbb63fea4af9a4e47b9c71fc166d.gif

Должен признаться, изначально я планировал написать статью только про настройку keepas на Linux, но по ходу написания накопилось достаточно материала и для Windows-пользователей.
Решил не обделять большую часть пользователей более популярной ОС столь занятным материалом.
Для каждого протокола я указал комманды работающие как под windows так и под linux

Итак приступим:

Для того чтобы keepass знал к какому протоколу соответствует ваша запись, вам следует использовать ссылки вида rdp://server, ssh://server, ftp://server

Для того чтобы keepass знал какие и как именно нужно запускать программы для этих протоколов, вам нужно настроить обработчик ссылок.
Для этого перейдем в Tools --> Options --> Integraion --> URL Overrides... и настроим протоколы:


SSH


[windows] PuTTY


[linux] OpenSSH Client

Вам нужно установить пакет sshpass
Вместо xterm можете подставить ваш любимый эмулятор терминала


RDP


[windows] MSTSC

За решение спасибо Valiant с bitcollectors.com


[linux] Remmina

так же нам понадобится установить небольшой вспомогательный скрипт:

curl -o /usr/local/bin/remmina-encode-password.py https://raw.githubusercontent.com/kvaps/keepass2-url-overriddes/master/remmina/remmina-encode-password.py
chmod +x /usr/local/bin/remmina-encode-password.py


VNC


[windows] RealVNC

Сохраните tightvnc-jviewer.jar в C:\Program Files\tightvnc-jviewer.jar.


[linux] Remmina

Нам все так же требуется небольшой вспомогательный скрипт, про который я писал выше

curl -o /usr/local/bin/remmina-encode-password.py https://raw.githubusercontent.com/kvaps/keepass2-url-overriddes/master/remmina/remmina-encode-password.py
chmod +x /usr/local/bin/remmina-encode-password.py


SAMBA


[windows] Explorer


[linux] Dolphin


[linux] Nautilus / Thunar

Для Thunar команда будет такая же, достаточно заменить nautilus на thunar.


FTP


[windows] FileZilla FTP Client


[windows] Windows Explorer


[linux] FileZilla FTP Client


[linux] Dolphin


[linux] Nautilus / Thunar

Для Thunar команда будет такая же, достаточно заменить nautilus на thunar.


TeamViewer


[windows] TeamViewer


[linux] TeamViewer


Winbox


[windows] Winbox

Сохраните winbox.exe в C:\Program Files (x86)\winbox.exe.


[linux] Winbox

Я использую пакет winbox из AUR.

Примеров я думаю предостаточно. На этом пожалуй все.
Теперь, выбрав нужную запись и нажав Ctrl+U, вы сразу подключитесь куда нужно. И вам не придется сохранять пароли где-то еще.
Для более экзотических случаев вы всегда можете написать свой обработчик, вам лишь достаточно узнать параметры запуска нужной вам программы и отразить их в команде.

Пара ссылок по теме:

Если есть какие-то пожелания/дополнения пишите их в коментарии или на Github.
Благодарю за внимание.

© Habrahabr.ru