如何使ssh-agent锁定到Windows登录名?


8

是否有可能在Windows登录时自动解锁我的私钥以进行ssh身份验证,并在(解锁)会话时(解锁)它们?

目前,我正在使用msys的ssh-agent,但也可以使用例如charade作为腻子选美的包装图像,如果已经有更好的解决方案。


2
我只是有一个用EFS加密的无密码密钥,它对透明ssh-agent,因此可以在保持安全的同时自动加载该密钥。
user1686

@grawity:谢谢,这更容易了!如果您将其发布为答案,我将接受它的编辑更正,因为我的管理员未正确设置EFS,所以我不能:(
Tobias Kienzler 2011年

在Active Directory域上?(如果您没有证书,cipher /k则应创建一个新证书,尽管它将是自签名的。)
user1686 2011年

@grawity:谢谢。我尝试过,但没有任何改变。我对此问题提出了一个新问题:无法对域上的文件进行加密(使用EFS)
Tobias Kienzler 2011年

Answers:


1

Grawity仅有一个用EFS加密的无密码密钥,该密钥对ssh-agent透明,因此可以在保持安全的同时自动加载该密钥。他还为Active Directory建议了以下内容:如果您没有证书,cipher /k则应创建一个新证书,尽管该证书将是自签名的。


这基本上是个好主意,但是如上所述,加密文件不起作用。cipher /k运行正常,但我仍然收到“为此系统配置的恢复策略包含无效的恢复证书”,但是要解决此问题(请参阅此处),需要管理员权限...我想我会坚持使用休眠模式或未加密的少密码密钥
Tobias Kienzler 2011年

@Tobias:你是什么意思?您没有管理员权限?您应该使用它们或请系统管理员为您执行此操作。如果您无法访问管理员帐户,请尝试重新安装(如果是您的个人操作系统),或者尝试停止安装(如果是企业操作系统)。也许考虑使用基于Windows的解决方案,例如终端服务...
Tamara Wijsman

与工作中的方便相比,我们的管理员(不会向任何人授予管理员权限)正在忙于维护我们的群集
Tobias Kienzler 2011年

1

您可以通过在未打开私钥的状态下使进程休眠来恢复被解锁的私钥的状态。然后,每次需要时,您都可以启动第一次捕获的休眠状态。从技术上讲,它可以工作...

如果没有,请尝试设置一个脚本(也许基于AutoIt)来完成您将要手动执行的操作。


我不喜欢将密码的明文放在脚本中的想法,因此,我希望使用非加密的无密码密钥。但是休眠是个好主意,我可以休眠而不是关闭窗口,这样可以保留ssh-agent.exe的实例
Tobias Kienzler 2011年

1
@Tobias:重点是,您要问的实际上是将SSH代理的锁绑定到Windows登录名;唯一的方法是通过Task Scheduler脚本来登录,锁定和注销事件。您可以使脚本仅由在任务管理器中配置的用户可读,并且可以以加密方式存储密码,并在需要时对其进行解密。剩下的唯一事情就是有人在窃取您的硬盘,但这就是EFS和TrueCrypt发明的原因。您可以输入密码,也可以通过将密码存储在某个地方来自动完成密码...
Tamara Wijsman

1
确实如此。我会接受您/原始人的EFS答案,因为如果可行,这就是我要使用的解决方案。实际上,我考虑只使用未加密的密钥文件(具有独占权限),因为任何能够访问相应硬盘的人都将与我要插入的机器位于同一房间:-/感谢您的回答!
Tobias Kienzler 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.