5

次のように指定された 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"
                }
            }
        },
        ...

次に、次のコマンドを実行して、satis を更新しようとします。

/usr/bin/php /path/to/satis/satis -n build /path/to/satis.json /path/to/location

これは、公開鍵ファイルと秘密鍵ファイルを指定したという事実を完全に無視し、引き続きパスワードを要求します。動作するたびに手動でパスワードを差し込むと。sshキーを移動してオプションパラメータを削除する.ssh/id_rsa.ssh/id_rsa.pub、それも機能します。

質問

1 つのキーに依存するのではなく、リポジトリごとに異なるキーを使用できるように、リポジトリごとにキー ファイルを正しく指定するにはどうすればよいですか?.ssh/id_rsa

4

2 に答える 2

1

回避策として、satis.json ファイル内のすべてのホストの$HOME/.ssh/configファイル ( Nixcraft 参照) を次のように設定することでなんとかやり遂げました。

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ます。

于 2015-06-15T18:39:39.867 に答える
0

静的リポジトリを構築するときは、-nスイッチを使用して、現在のユーザーが $HOME/.ssh フォルダーで使用できる公開 ssh キーを使用します。

于 2016-01-21T17:09:47.580 に答える