Pull to refresh

Comments 45

Спрячте gif ниже ката, т. к. вне зависимости от наличия спойлера он загружается браузером.

Передаёте пароли в командной строке?
Тогда они все будут видны в выводе команды ps?

Да, вы правы, некоторые примеры не самые лучшие в плане безопасности.
Но решения для RDP, VNC, SMB и FTP (не FileZilla) лишены этого недостатка.


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

Да будут. В Windows task manager отображает пароль :(
Это прискорбно.
И если в Windows можно попробовать «заинсертить» логин/пароль в формочку (по аналогии с AutoIt)
То в linux полный «швах» — зоопарк WM и технологий рисования форм…

У keepass есть втроенная функция Auto-Type. В большинстве случаев она работает более-менее пристойно.

Прикольно! По настоящему handy!
Но я не могу избавится от привычки копипасты из того же keepass2.

В дополнение к своей статье хочу рассказать про замечательный плагин для браузера: PassIFox для Mozilla Firefox и chromeIPass для Google Chrome.
В отличии от KeeFox он интегрируется вместо встроенной функции сохранения паролей в браузере, не изменяет стандартный интерфейс браузера и не создает новые диалоговые окна. (что особенно радует в тайловых wm)

Добавлю, что для Firefox-а есть не менее прекрасная (и зрелая) интеграция под названием KeeFox. Пользуюсь уже много лет, очень удобно. Браузер общается с KeePass через RPC по авторизованному токену.
Пробовал перейти с LastPass на KeepAss, но вот как раз убогость и какая-то общая недоработанность chromeIPass не дала мне полностью перейти на KeepAss и вынудила остаться на LastPass.

Не знаю как chromeIPass, но PassIFox мне очень понравился, до этого я пользовался KeeFox, но он ужасно глючит в тайлинге. :(

Ему с тех пор апгрейднули интерфейс и движок.
Возможно теперь понравится больше, если будет повод.
Интересно… я всегда считал, что программа называется KeePass, а не KeepAss))
Ну… Вариант KeepAss выглядит тоже логичным, это была не опечатка, это я специально.
Подскажите, нет ли готового решения, чтобы менеджер паролей был запущен на мобильном, и по ip передавался только нужный пароль по запросу с разрешения на сотовом (соответственно с интеграцией в браузер и аналог автонабора логина пароля нажатиями кнопок, по возможности).
А как настроить подобное в макоси? Какой протокол для запуска терминала?
> Какой протокол для…

Нет, вы сами придумываете схему, а потом говорите KeePass'у, что для этой схемы делать.

В вашем случае нужно использовать комманду open.
ответ на StackOverflow


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


cmd://open ./AppName.app --args -AppCommandLineArg
Авторизацию по ключу, который сохраняется в keepass не настраивали?

Вы про SSH? Не пробовал, но думаю, что такой вариант вполне сработает:


cmd://bash -c 'FILE=$HOME/.ssh/id_rsa.tmp ; echo {PASSWORD} > $FILE && chmod 600 $FILE ; xterm -e ssh -i $FILE -o StrictHostKeyChecking=no kvaps@localhost ; rm -f $FILE'

При этом сам закрытый ключ вам придется хранить в поле пароль

Есть еще поле {NOTES}, но оно не защищено.
А можно обойтись без временного файла? Скажем:
cmd://bash -c 'echo {PASSWORD} | xterm -e ssh -i /dev/stdin -o StrictHostKeyChecking=no kvaps@localhost'

Сам проверить не могу, под рукой линукс-машины нету.
Нет, похоже что не сработает. ssh нужен stdin.
KeeAgent плагин нормально работает в роли ssh агента
Чтобы не передавать пароли в ssh, поставьте плагин KeeAgent и храните в базе свои private ключи. Плагин симулирует ssh-agent и соответственно пароль передавать не надо, только логин и хост с портом.
Кстати в строке для Windows ошибка:
-pw {BASE:PORT} -pw "{PASSWORD}"
Я полагаю что для порта должно быть не -pw.

Убрал вообще указание порта в комманде, а то с ним что-то не работает...

Порт указывается по другому:
-P {BASE:PORT}

Полная строка, которая работает у меня:
cmd://"{ENV_PROGRAMFILES_X86}\PuTTY\putty.exe" -ssh "{USERNAME}@{URL:HOST}" -P {BASE:PORT} -pw "{PASSWORD}"

У вас работает эта команда, если в URL записи порт не указан?

Проверил, работает, PuTTY подключилась.

Ок, вернул опцию на место :)

Небольшая поправка: Scheme в URL Override надо указывать без двоеточия и слешей, иначе работать не будет.

Спасибо, исправил.

А можно ли сделать чтобы по клику в KeePass например открывал почтовый сервис в браузере и авторизовался сам?

Можно в два клика.
Используйте Auto-Type или плагин для браузера.

Пользуюсь KeePass но только в рамках Chrome. Что-то не получилось передать Teamviewer логин и пароль. :(
Хороший полезный пост, спасибо. В некоторых случаях работает. Но RDP в Win7 не срабатывает, если до этого уже подключались, останавливается на окошке ввода пароля. Видимо рассчитано когда оба поля (Юзер+пароль) пустые. Это в Windows 7 так, на XP наверное получится.
Нашел также ошибки в статье: в VNC и Teamviewer для Windows перед сценарием нет cmd://

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

Ошибся, RDP Scheme работает нормально. Надо убрать галку «Разрешить мне сохранять учетные данные» в настройках mstsc клиента. Для этого надо запустить его как есть из командной строки Windows и ткнуть на кнопку внизу слева «Параметры»
А кто-то пользуется PAC manager? У него есть интергация с KeePassX. Мне функционала последнего хватает и не нужно ставить mono.
Плагины к кеепасу вообще творят чудеса.

Вот у меня запись на работе

image

cmd://{DB_DIR}\putty.lnk -ssh -l {USERNAME} -pw {PASSWORD} {S:IP}
cmd://{DB_DIR}\winscp.lnk scp://{USERNAME}:{PASSWORD}@{S:IP}

image

Чтобы RDP (под Win) подключался при обращении через IP:port (это если у вас нет доменного имени и порт не стандартный 3389), надо указывать в cmdkey только IP хоста, без порта.
Да и таймаут перед закрытием в cmd совсем не нужен.
На мой взгляд, правильно будет так:
cmd://cmd /c "cmdkey /generic:TERMSRV/{URL:HOST} /user:{USERNAME} /pass:{PASSWORD} && mstsc /v:{BASE:RMVSCM} && cmdkey /delete:TERMSRV/{URL:HOST}"

Спасибо, поправил.

Таймаут пригодится, если не хочется видеть черное окно командной строки, пока открыт mstsc, только еще start нужно добавить.
cmd://cmd /c "cmdkey /generic:TERMSRV/{URL:HOST} /user:{USERNAME} /pass:{PASSWORD} && start mstsc /v:{BASE:RMVSCM} && timeout /t 10 /nobreak && cmdkey /delete:TERMSRV/{URL:HOST}"
Sign up to leave a comment.

Articles