关于私钥的密码短语,Capistrano和Rocketeer之间的区别在哪里?
我已经正确设置了Capistrano和Rocketeer部署策略并可以正常工作。Capistrano让ssh-agent提供密码短语-Rocketeer似乎不提供。问题不是关于如何,而是为什么需要密码。
背景:
我想使用Rocketeer而不是Capistrano来部署Laravel应用程序。似乎将SSH连接委托给Laravel。
在配置中仅设置了远程服务器的名称并运行检查之后,在提示输入凭据后,Rocketeer将所需的密码和我所需的私钥的路径存储在非版本控制的文件中。
我不想在磁盘上存储用于建立SSH连接的凭据-尤其是不希望使用任何我的私钥的密码短语。
那么,为什么只需要服务器名称呢?
我看到Laravel在其remotes配置中准备了这些字段-我只是找不到最终负责哪个组件,以及为什么它不能完全将SSH连接留给系统本身。
是在下面需要大量信息才能建立SSH连接的Rocketeer,Laravel,Symfony,phpseclib还是php本身?
Laravel缺少phpseclib的ssh-agent的实现,该实现需要许多信息来建立SSH连接。
这就是为什么Rocketeer不允许Capistrano依赖用户名/密码和私钥/密码验证旁边的ssh-agent的原因。
声明并合并了一个提案,以包括phpseclib的未记录实现,以使用ssh-agent代替显式密钥。
Rocketeer将从中受益,因为Rocketeer依赖于Laravel中所说的phpseclib实现。
(感谢@ hannesvdvreken,@ ThomasPayer和@passioncoder指向正确的方向)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句