Satis - 指定 git 服务器的 SSH 密钥
Satis - specify SSH key to git server
我有一个 satis.json 文件,如下所示:
{
"name": "My organizations Satis Server",
"homepage": "http://satis.mydomain.org",
"repositories": [
{
"type": "vcs",
"url": "git@git.mydomain.org:/home/git/packages/MyPackage",
"options": {
"ssh2": {
"username": "git",
"pubkey_file": "/config/public-key.pub",
"privkey_file": "/config/private-key"
}
}
},
...
然后我尝试通过 运行 命令来满足更新:
/usr/bin/php /path/to/satis/satis -n build /path/to/satis.json /path/to/location
这将完全忽略我已经指定了public密钥文件和私钥文件的事实,并继续向我询问密码。如果我每次都手动插入密码。如果我将 ssh 密钥移动到 .ssh/id_rsa
和 .ssh/id_rsa.pub
并删除选项参数,那么它也可以工作。
问题
如何正确指定每个存储库的密钥文件,以便我可以为不同的存储库使用不同的密钥,而不是依赖 .ssh/id_rsa
中的一个密钥
作为一种变通方法,我设法为 satis.json 文件中的所有主机设置 $HOME/.ssh/config
文件 (Nixcraft reference),如下所示:
Host git.mydomain.org
HostName git.mydomain.org
User git
Port 22
IdentityFile /path/to/private-key
Host git.mySecondDomain.org
HostName git.mySecondDomain.org
User git
Port 22
IdentityFile /path/to/private-key2
我的 satis.json 文件现在看起来像:
{
"name": "My organizations Satis Server",
"homepage": "http://satis.mydomain.org",
"repositories": [
{
"type": "vcs",
"url": "git@git.mydomain.org:/home/git/packages/MyPackage"
},
{
"type": "vcs",
"url": "git@git.mySecondDomain.org:/home/git/packages/SecondPackage"
},
...
这相当不雅,我希望仍然有一种方法可以指定要在 satis.json
文件中使用的密钥的路径。
在构建静态存储库时使用 -n 开关以使用 $HOME/.ssh 文件夹中当前用户可用的 public ssh 密钥。
我有一个 satis.json 文件,如下所示:
{
"name": "My organizations Satis Server",
"homepage": "http://satis.mydomain.org",
"repositories": [
{
"type": "vcs",
"url": "git@git.mydomain.org:/home/git/packages/MyPackage",
"options": {
"ssh2": {
"username": "git",
"pubkey_file": "/config/public-key.pub",
"privkey_file": "/config/private-key"
}
}
},
...
然后我尝试通过 运行 命令来满足更新:
/usr/bin/php /path/to/satis/satis -n build /path/to/satis.json /path/to/location
这将完全忽略我已经指定了public密钥文件和私钥文件的事实,并继续向我询问密码。如果我每次都手动插入密码。如果我将 ssh 密钥移动到 .ssh/id_rsa
和 .ssh/id_rsa.pub
并删除选项参数,那么它也可以工作。
问题
如何正确指定每个存储库的密钥文件,以便我可以为不同的存储库使用不同的密钥,而不是依赖 .ssh/id_rsa
作为一种变通方法,我设法为 satis.json 文件中的所有主机设置 $HOME/.ssh/config
文件 (Nixcraft reference),如下所示:
Host git.mydomain.org
HostName git.mydomain.org
User git
Port 22
IdentityFile /path/to/private-key
Host git.mySecondDomain.org
HostName git.mySecondDomain.org
User git
Port 22
IdentityFile /path/to/private-key2
我的 satis.json 文件现在看起来像:
{
"name": "My organizations Satis Server",
"homepage": "http://satis.mydomain.org",
"repositories": [
{
"type": "vcs",
"url": "git@git.mydomain.org:/home/git/packages/MyPackage"
},
{
"type": "vcs",
"url": "git@git.mySecondDomain.org:/home/git/packages/SecondPackage"
},
...
这相当不雅,我希望仍然有一种方法可以指定要在 satis.json
文件中使用的密钥的路径。
在构建静态存储库时使用 -n 开关以使用 $HOME/.ssh 文件夹中当前用户可用的 public ssh 密钥。