我正在寻找一个密码管理器,它既可以作为Android应用程序使用,也可以作为Linux桌面应用程序使用。我知道有KeePassDroid(请参阅:Linux密码管理器,仅具有浏览器内的自动键入功能),但这不符合我的要求,因为它的“密码格式”为“固定布局”。 :

必须以本机Android应用程序和本机Linux桌面应用程序的形式提供。
用于不同“密码”类型的特定格式,例如信用卡,登录信息等。像组织(或至少以某种方式分类)
安全存储(即良好的加密)
数据文件的位置应该是可配置的(下一项要求)
通过只需同步数据库文件
Android应用程序一定不需要网络访问权限(同步将单独进行)

首选选项(非强制性)

很好的GUI
图标集可从中选择用于文件夹和“叶子”的图标
包含在Ubuntu信息库中(PPA很好,可以使用.deb,如果出现.jar则没有问题,或者现成的.tar.gz,或者如果没有太多依赖关系,则提供源(我觉得足够适合configure && make && check-install;)我当前正在运行Ubuntu 12.04,但是计划在下一次安装时切换到Debian –不会太早,但是)

候选人尝试了,但是失败了: ,网址,登录名,密码,评论),例如,信用卡或借记卡。

掌上电脑:虽然提供了Android应用程序和Java桌面,而且似乎还提供了适用于信用卡,登录名等的不同“表单”,但Android应用程序需要Internet许可,并且希望通过Dropbox进行同步。另外,我无法使桌面应用程序正常工作(它需要一个现有的数据库,而这当然不是开始的),在两端使用相同的数据库涉及文件的永久重命名(两端都固定为不同的文件名),并且桌面在区分大小写的文件系统上使用大小写混合的目录名时遇到麻烦。

评论

您好Izzy,您研究过EnPass吗?它支持iPhone,Android,Windows和Linux。它对帐户分类,具有标准加密,是100%本地等。目前我无法回答,但稍后可以进行详细说明。请看一下(最多20次登录即可免费使用。)

谢谢@MichaelNancarrow –但是由于权限(Android)而自动取消资格:“ Android应用程序必须不需要网络访问权限” – Enpass需要网络状态,wifi状态和完整的Internet访问权限。
你好伊齐我很抱歉。它要求此功能使您能够同步数据(默认情况下是本地数据)。它还允许同步设置服务,您可以在其中访问特定端口上的网址以访问文件。应用程序本身必须有此要求,但操作不需要。

我是这样认为的,但我不希望这样(“同步将单独完成”)。当涉及到敏感数据时,我相当“偏执”。如果该应用可以访问网络,理论上它甚至可以将未加密的数据传输到其他地方。不保证不会。

就像一个注释(未经测试,并且不是完美的匹配,缺少信用卡/自由格式的字段):CodeGuard似乎已经接近。提供PIN和登录名,并具有使用Java的桌面挂件。

#1 楼

关于您的条件的简单事情是您实际上不需要匹配的集合。只要数据文件可以完全互操作,不相关应用程序的任何组合都可以使用。我知道唯一满足您所有条件的一对,即使有几个“陷阱”。

数据格式

可以互换,房间里基本上有一只800磅的大猩猩。最初为KeePass设想的数据格式既已建立并得到广泛支持。所使用的加密技术也经过了同行的广泛审查,因此,它比使用专有格式的许多小型播放器或商业解决方案更安全。格式(kdbx)。您的标准包括多个项目,其中包括需要版本1数据库格式(kdb)中无法提供的自定义数据字段,该字段将条目限制为一组预先定义的字段,这些字段适合于严格的“登录凭据管理器”,但不是您要查找的“私有数据管理器”角色。

历史记录

原始的KeePass软件是为Windows编写的。 1.x系列仅在该平台上有效(尽管它在WINE下运行,因此我们有些人在没有替代方案之前就已经摆脱了Linux的困扰。2.x系列基本上是一个具有许多改进的重写,其中包括一个将在Linux,OSX和BSD支持的Mono下运行。

我实际上建议不要使用原始的客户端软件,而应使用某些替代方法。我使用的那对似乎完全符合您的所有条件,但有一点需要注意。 keepass数据库格式允许在每个条目中存储任意键/值对。从理论上讲,这可以与智能接口配合使用,该接口可以智能地适应不同的输入类型(例如,网站登录,信用卡数据,护照等),据我所知,还没有客户这样做。您可以做的是使用任意字段来组织您自己的数据。

需要注意的是,当我选择自己的解决方案时,我尝试了很多替代方法,但找不到更好的对。如果还有其他更适合您的条件的东西,我也想听听,因为我们的需求似乎很相似。这是我可以安排的最佳设置。

Linux客户端推荐

KeePassX项目已经存在了一段时间。它最初被认为是与Windows项目平行的,并确实称为KeePass / Linux。在原始项目拥有自己的端口之后,改用了KeePassX这个名称,并且实际上该代码已移植为也可以在Windows和OSX上运行。正如您从提交日志中看到的那样,它是积极开发的,但是不幸的是,该项目一直遭受着非常长的发布周期,并且犹豫是否要调用尚未经过多年测试的稳定版本。 >出于您的目的,您将需要使用2.x系列。如果您的发行版仍具有0.4.x系列,则此建议中的数据格式将无法与Android应用程序互换。

由于要破坏这样的系统显然很重要且不可恢复,因此,绝对应该在其中放置一个故障安全备份系统。我喜欢将数据库保留为私有git存储库,因此它的版本历史记录分布在我的许多计算机上以及一些特殊的备份规定。您说您将自己同步和管理数据库文件。很好,只要做好功课就好。如果在所有设备上同步了损坏的数据库副本并破坏了备份,这不是客户端软件的问题!

截至撰写本文时,最新的KeepassX 2版本标签是2.0.3,但是检查项目新闻和源代码标签是否有新标签。您可以从公告页面下载,编译和安装该源代码,也可以从项目的Github镜像下载最新的zip

Android客户端推荐

您提到了您曾尝试过KeePassDroid,这是将KeePass 1软件移植到Android的尝试。我发现该接口很笨拙,并且(当我上次尝试它时)它不支持自定义字段。支持kdbx格式文件(标记为beta),但并非所有功能都被利用。

取而代之的是,我使用Keepass2Android,并发现该接口比任何其他可用的KeePass兼容客户端都更好。如果您希望自己进行同步,则可以使用脱机版本的所有连接选项,以便满足条件。还支持自定义字段,并且界面甚至使此操作相对简单。该下载文件占用了不菲的13 MB内存,但实际上前端干净快捷,并且定期进行更新以与最新的Android UI指南保持同步。后端很重,因为它包装了用于实际加密的其他广泛使用的代码,但这确实意味着您可以肯定,加密比某些一次性设计正确完成了。 br />
假设您使用的是Linux系统(或几乎任何其他台式机平台),并且需要进入密码数据库,但不必打扰从源代码安装程序或使用自定义软件包存储库。有一个开放源代码的JavaScript客户端,该客户端具有对名为KeePass(仅kdbx)文件的只读支持,称为BrowsePass(此处为Chrome扩展)。

评论


我刚刚尝试过KeePassX 2.0,它非常有前途,因此+1为您的答案。我唯一有问题的是自动类型-自定义占位符(例如{S:xxx})和键修饰符(^,%,+)似乎还不受支持。

–tmt
2015年1月6日15:52



@Caleb,实际上,除非我丢失了某些内容,否则您只是说“我实际上不建议您使用原始客户端软件”,并在没有任何理由的情况下将其保留。是什么让KeePassX在您脑海中比原始客户端更好?我个人对原始版本(版本2)感到非常满意。

–本
15年8月26日在3:45

@Ben如果您想建议您随时发布自己的答案,但我发现该界面笨拙,缓慢且容易出现毛刺,这主要是因为该界面未使用本机小部件框架,而是在Mono可移植性层上运行。并非每个人都会对在其系统上安装Mono感到满意。它特别不适用于平铺窗口管理器。

–卡莱布
15年8月26日在4:04

谢谢,很好的理由。我承认客户端在Linux上看起来不是很好。我主要在Windows中使用它。也许稍后再尝试。它是否具有用于“普通” KeePass的浏览器扩展程序(例如chromeIPass)?

–本
15年8月26日在4:31

@Izzy在上面引述自己:«我使用的那对似乎很符合您所有标准,但有一点需要注意。 keepass数据库格式允许在每个条目中存储任意键/值对。从理论上讲,这可以与智能界面配合使用,该界面可以智能地适应不同的输入类型(例如,网站登录,信用卡数据,护照等),据我所知,还没有客户这样做。因此,没有骰子。如您所述,如果尝试设置自定义字段,结果将非常笨拙。

–卡莱布
2015年10月8日,下午5:01

#2 楼

另一对非常接近(似乎没有满足我所有要求的对)是这样的:


Revelation是GNOME桌面的密码管理器,已根据GNU GPL许可证发布。它将所有帐户和密码存储在一个安全的位置,并通过用户友好的图形界面对其进行访问。并具有易于使用的GUI(虽然不完美,但还不错)。它为不同的“密码”类型提供特定的形式,例如信用卡,登录信息等,具有类似于文件夹的组织。当然,数据库是以加密方式存储的-尽管我不能说这种加密方式有多好,但该软件声称已通过最新版本对其进行了改进(要求我更新为最新格式)。数据文件的位置是可配置的(要求您将其存储在何处),并且只需同步数据库文件就可以在Desktop和Mobile之间进行同步。如前所述,它有一个不错的GUI(不是完美的GUI,但我比KeePassX更喜欢它)。没有用于选择文件夹和“叶子”图标的图标集–图标是预定义的,无法更改(不幸的是,模板相同)。它包含在Ubuntu信息库中-但旧版本的Ubuntu 12.04与Android挂件不兼容(受影响的用户可以使用此PPA进行检查)。条目(请参阅模板)。资料来源:启示录(单击图像获得较大版本)

到目前为止,所有要求均已得到满足;我的警告是:


模板是不可调整的(也不能添加我自己的模板)。不是止步不前的,因为现有的已经足够了(并且未使用的字段不会在“查看模式”下显示)
最后一个版本于2013年发布,其源代码回购中的最后活动是一年前(Bitbucket ;甚至在2年前就在Github上)-因此尚不清楚该软件是否仍在维护。

F-Droid:aRevelation上提供了Android对应部件。它非常小(仅80 kB .apk文件),并且目前仅是阅读器,因此必须在Linux桌面上维护密码等,并且Android应用只能用于浏览数据库。该应用程序的Github存储库中的最后一个活动是在4个月前–因此,这种情况可能会发生变化(我昨天已明确要求,答案待定)。仅请求的许可权是“存储”,因此要求Android应用程序必须不要求满足网络访问权限。 Github上提供的fork不再是只读的,它的GUI也很不错。那些应用程序也可以在我的F-Droid回购中使用。一旦达到“鼻烟”,它的开发人员便计划也使用Revelation分支。在不久的将来(与此同时,它的分支也可以)。这两个组件都是OpenSource,可免费获得,这是一个很大的优势(审核等)。期待它的演变-如果情况发生变化,我将更新这个答案。


另一个潜在的“未来候选人”:NS Wallet。根据他们的网站,他们计划使用Linux客户端(他们已经提供了适用于Mac和Windows的桌面客户端,因此该客户端将更加跨平台)。将密切关注并在有可用且足够满足要求时发布单独的答案。

评论


Android上的NS Wallet评论表明,它具有丢失数据的记录。而且仍然没有Linux客户端,所以我想说这是一个死胡同。 Revelation自2013年以来未见任何开发进展。aRevelation在过去一年中也未见任何开发进展,您对写支持的询问也没有得到解答。如果一个只读且过时的应用程序套件满足您的需求,那么很好,但是对于任何新的考虑者,我建议不要采用这条路线。

–卡莱布
16年12月29日在9:31

谢谢,@ Caleb –我完全同意。但是当我一年多以前写这个答案时,两者都不清楚。

– Izzy♦
16年12月29日在9:37

我明白。当我写自己的推荐书时,我是在建议一个Alpha版本!此后已经发布到一个稳定的发行版中,并且在许多发行版中都还不错,但是当您提出这个问题时,这肯定是一个更艰难的选择。我的评论对潜在的当前访问者只是一个字。

–卡莱布
16-12-29在9:44



@Caleb单挑:(a)启示已经分叉。 aRevelation分支刚刚取得了一些不错的进步,它的作者计划在Android客户端“喘不过气来”后也进一步扩展Linux版本。这似乎使我将在该组合中停留更长的时间:)

– Izzy♦
18年1月28日在1:23