Работа с паролями
KeePassX — свободная программа для хранения паролей, распространяемая по лицензии GPL. Программа является ответвлением менеджера паролей KeePass, переписанным на С++.
Программа построена с использованием библиотеки Qt версии.
Доступна для Linux, Windows и Mac OS X.
apt-get install -t jessie-backports keepassx
В настройках программы нужно установить следующее значение переменной Команда браузера
(имя в файле настроек UrlCmd
):
xdg-open
а для Windows:
C:\Admin\KiXtart\KIX32.EXE C:\Admin\KeePassX.kix %1
Значение поля Ссылка
для записи KeePassX
:
ssh://{USERNAME}:{PASSWORD}@{TITLE} |
Для работы по LDAP используется программа LDAP Admin
Для реализации решения используется технология Настройка программ по стандартам XDG, более подробно настройка описана в главе Обработка протокола URL
apt install sshpass
[Desktop Entry] Categories=Network; Comment=SSH GenericName=SSH Name=SSH Type=Application Terminal=true Exec=/opt/ssh.sh
xdg-mime default ssh.desktop x-scheme-handler/ssh
cmd_line=$(echo $1 | awk -F '//' '{ print $2 }') username=$(echo $cmd_line | awk -F ':' '{ print $1 }') password_host=$(echo $cmd_line | awk -F ':' '{ print $2 }') password=$(echo $password_host | awk -F '@' '{ print $1 }') host=$(echo $password_host | awk -F '@' '{ print $2 }') evilvte -fn "monospace 12" -T $host -e sshpass -p $password ssh -l $username $host exit
[Desktop Entry] Categories=Network; GenericName=SFTP Name=SFTP Comment=SFTP Exec=/opt/sftp.sh
xdg-mime default sftp.desktop x-scheme-handler/sftp
cmd_line=$(echo $1 | awk -F '//' '{ print $2 }') username=$(echo $cmd_line | awk -F ':' '{ print $1 }') password_host=$(echo $cmd_line | awk -F ':' '{ print $2 }') password=$(echo $password_host | awk -F '@' '{ print $1 }') host=$(echo $password_host | awk -F '@' '{ print $2 }') filezilla ssh2://$username:$password@$host exit
[Desktop Entry] Categories=Network; Comment=LDAP GenericName=LDAP Name=LDAP Type=Application Terminal=true Exec=/opt/ldap.sh
xdg-mime default radmin.desktop x-scheme-handler/radmin
cmd_line=$(echo $1 | awk -F '//' '{ print $2 }') host=$(echo $cmd_line | awk -F ':' '{ print $1 }') (wine C:/Admin/Radmin/Radmin.exe /connect:$host:4899 /8bpp)& exit
Скрипт написан на KiXtart
$protocol_separator="//" For Each $args In getcommandline(1) $arg=$args Next $a1=Split ($arg,":",1) For Each $p in $a1 $protocol=$p Next If $protocol="http" Run "C:\Programs\FireFox\firefox.exe $arg" EndIf If $protocol="ftp" Run "C:\Admin\FileZilla.cmd $arg" EndIf If $protocol="sftp" Run "C:\Admin\FileZilla.cmd $arg" EndIf If $protocol="ldap" Run "C:\Admin\LdapAdmin\LdapAdmin.exe $arg" EndIf If $protocol="ssh" $args_without_protocol=SubStr($arg,(Len($protocol)+Len($protocol_separator))+2,Len($arg)) $user_e=Instr($args_without_protocol,":") $host_s=Instr($args_without_protocol,"@@") $user=SubStr($args_without_protocol,1,$user_e-1) $password=SubStr($args_without_protocol,$user_e+1,$host_s-$user_e-1) $host=SubStr($args_without_protocol,$host_s+1) Run "C:\Admin\KiTTY.cmd -ssh $user@@$host -title $host -pw $password" EndIf If $protocol="radmin" $args_without_protocol=SubStr($arg,(Len($protocol)+Len($protocol_separator))+2,Len($arg)) Run "C:\Admin\Radmin\Radmin.exe /connect:$args_without_protocol:4899 /8bpp" EndIf Quit 0