2017-07-21 6 views
0

私はdevlessボックスを設定するためにマスターレスパペットインストールを使用しています。私はプライベートレポをクローンする必要がありますが、vcsrepoは特定のユーザーとして実行されないため、使用中です。これは私の非rootユーザーとして実行する必要がありvcsrepo docsによるとpuppet git clone private repo vcsrepoモジュールを使用しているユーザー

vcsrepo { '/path/to/repo': 
    ensure => present, 
    provider => git, 
    source => 'git://example.com/repo.git', 
    user  => 'blake', 
} 

しかし、それは、私はこのエラーが出るので、私はそれがまだrootとして実行されていると考え実行するたび:

Error: Execution of 'git clone [email protected]:private-org/private-repo.git /home/blake/code/private-repo' returned 128: Cloning into '/home/blake/code/private-repo'... 
Host key verification failed. 
fatal: Could not read from remote repository. 

私は手動でgitクローンを実行すると正しく動作するので、正しいsshキーが自分のユーザーアカウント用にセットアップされていることがわかります。

更新1:

オーケー、私は--debugフラグを追加しましたが、それは本当にすべての詳細情報を与えるものではありません。

Debug: Executing 'git clone [email protected]:private-org/private-repo.git /home/blake/code/private-repo' 

しかし、私は「known_hosts」ファイルと関係があると思います。ホストがわかっていれば正常に動作します。それ以外の場合は上記のエラーが表示されます。ですから、どうにかして、 'known_hosts'ファイルをどのように埋め込むかを理解して、vcsrepoコマンドが機能するようにする必要があります。

+2

あなたは '--debug'で人形を実行するとどうなるでしょうか? –

答えて

1

この場合、Host key verification failedエラーは 'known_hosts'ファイルの欠落しているホストと関係があります。

コマンドラインからgit cloneを実行すると、ホストエントリを 'known_hosts'ファイルに追加するように要求されますが、人形がgit cloneコマンドを実行しても機能しません。

この問題を解決するために、タイプを使用して、人形で私の 'known_hosts'ファイルにssh-keyscan -t rsa github.comの出力を追加しました。私は.ssh/configファイルの 'HashKnownHosts'も無効にしました。

関連する問題