是否可以使用 .ssh/config 中的 IdentityFile 指令指定转发的密钥?
我在我们的生产服务器上尝试通过 Capistrano/GIT 部署一些代码时遇到了这个怪癖。我的个人和我的工作 GIT 密钥总是加载在我的 SSH 代理中,而且碰巧我的个人密钥首先添加到代理中。我在使用 Capistrano 部署时使用代理转发,因此当主机尝试对 `git pull` 操作进行身份验证时,它失败并出现以下错误:
错误:对“您的用户”的“某些回购”的权限被拒绝。
因为它在尝试适当的密钥(稍后在 ssh 代理中提供)之前尝试使用我的个人 git 密钥进行身份验证,并假设我正在访问一个我无权访问的外部存储库。我可以让我的个人用户访问每个工作仓库,但在我的本地机器上,我可以通过在 .ssh/config 中定义自定义域来解决这个问题,如下所示:
主机个人.github.com主机
名github.com
用户git
IdentityFile ~/.ssh/some_key
主机work.github.com
主机名github.com
用户git
IdentityFile ~/.ssh/some_other_key
这样 git 永远不会混淆。是否可以为我的生产设备上的转发密钥创建 .ssh/config 规则,以便他们在拉入新代码时始终知道使用哪个密钥?基本上我希望能够做到:
主机work.github.com
主机名github.com
用户git
IdentityFile some_forwarded_key
谢谢!
如果我错了,请纠正我,但块位图(跟踪磁盘驱动器上的空闲块)是否因不同的文件系统(位置和结构明智)而异?那么,OCZ 如何在不考虑正在使用的文件系统的情况下拥有用于垃圾收集的通用算法?