19

我在一个 ssh 友好的实验室机器上有一个帐户,我在其中存储了许多私人项目,因此我可以从多台计算机上访问它们(它允许我只使用我的几个私人 Github 存储库来处理多人工作的事情)。

似乎 Rust 可以通过使用类似的东西来获取本地和公共数据

[dependencies.foo]
git = "https://github.com/bar/foo"

[dependencies.baz]
path = "/path/to/baz"

git = "git@github.com:bar/foo"但是我还没有找到一种使用 ssh git(例如,或者在我的情况下)让它工作的方法labmachine:bar/foo。如果有帮助,我已经设置了无密码/keygen ssh。

如果它不存在,这没什么大不了的。目前我只是手动克隆存储库并使用path = ../foo,只要我保持我的目录结构相同并记住手动pull在我的所有机器上的所有依赖项,它就可以工作。但是,如果我可以设置 Cargo 来做这件事,事情会变得容易得多,特别是如果我只需要在我的笔记本电脑或其他任何东西上快速演示一些东西。

4

2 回答 2

10

在 macOS Sierra 上,我必须创建一个.ssh/config像这样的文件:

Host *
   UseKeychain yes
   AddKeysToAgent yes
   IdentityFile ~/.ssh/id_rsa

指向私钥 (RSA) 文件,然后发出命令:

ssh-add -K ~/.ssh/id_rsa

其中(终于!)允许这样的条目:

git = "ssh://git@github.com/skipjaq/loda.git"

完美地工作。

我不知道我需要多久重复一次该ssh-add命令,但看起来这至少应该保持到下一次重新启动。

这种异常显然是ssh-agentmacOS Sierra 上的一个特性。

于 2017-03-23T17:09:09.017 回答
3

使用完整的 SSH 路径而不是 Git 的简写:

git = "ssh://landmachine/bar/foo"
于 2015-07-30T02:18:54.473 回答