web-dev-qa-db-ja.com

gitリポジトリのクローンを作成するときに権限が拒否されました

だから私はAmazonEC2インスタンスをセットアップするだけです。そしてインストールされたgit ..

Sudo yum install git

次に、githubを使用してsshキーを設定します。リポジトリを/ var/www/htmlフォルダーに複製しようとすると、このエラーが発生します。

fatal: could not create work tree dir 'example.com'.: Permission denied

そして私がrootとして実行すると...

Cloning into 'example.com'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

ただし、github公開鍵が〜/ .ssh /id_rsa.pub鍵と一致することを確認しました。ここで欠けているものはありますか?

5
coryj

最初のエラーは、ユーザーが/ var/www/htmlに書き込むためのアクセス権を持っていないためです。ユーザーにそうする権限を与えることができます。

Rootとして実行しているときの2番目のエラーは、sshキーが/root/.ssh/ではなくユーザーのホームディレクトリにあるか、.sshディレクトリまたは〜/ .ssh /id_rsa.pubキーファイルにある可能性があります。不正な権限。 〜/ .ssh /には許可ビット0700が必要であり、〜/ .ssh /id_rsa.pubが必要です。 0600

11
nos

id_rsa~/.ssh/id_rsa秘密鍵は公開鍵(~/.ssh/id_rsa.pub)とペアになっていますか?

わからない場合(またはわからない場合)は、ssh-keygen -t dsaを使用して新しい秘密鍵と公開鍵のペアを再生成することをお勧めします。

1
joamag

これを試しましたか:

git:致命的:リモートリポジトリから読み取ることができませんでした

SSHがリモートシステムに送信するユーザー名をリモートのURLの一部として指定できます。リモートホスト名の前に、ユーザー名の後に@を付けます。

git remote set-url website abc@***.com:path/to/repo
1
Drew Khoury

注:この修正はMacユーザーに対して機能します

MacOS 10.12.2以降の場合、〜/ .ssh/configファイルを変更して、キーをssh-agentに自動的にロードし、パスフレーズをキーチェーンに保存する必要があります。

Host *
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile ~/.ssh/<your_id_rsa>

SSH秘密鍵をssh-agentに追加し、パスフレーズをキーチェーンに保存します。別の名前で鍵を作成した場合、または別の名前の既存の鍵を追加する場合は、コマンドのid_rsaを秘密鍵ファイルの名前に置き換えてください。

ssh-add -K ~/.ssh/<your_id_rsa>

詳細については、以下を確認してください https://help.github.com/en/github/authenticating-to-github/generate-a-new-ssh-key-and-adding-it-to-the-ssh -エージェント

1
outlawvikas

私の解決策はnosの解決策と一致します。 rootユーザーの公開鍵を追加すると修正されます。別のオプションは、ディレクトリの権限を変更し、通常のユーザーとしてコマンドを実行することです。

0
rasheednyc