前提・実現したいこと
AWS EC2でWEBアプリを作成しようとしています。
これまでhttpsでGitHubからコードを取得していたのですが、SSHで取得するように変更しようとしています。
GitHubに公開鍵を設定してEC2からの接続は確認できたのですが、"git pull origin master"が権限が合っていないようでコードを取得できないため、解決策をご教授いただきたいです。
似たような質問はあったのですが、解決できなかったため改めて質問させていただきました。
発生している問題・エラーメッセージ
以下、実施した手順です。
(EC2インスタンスにプロジェクトフォルダがあって、リモートリポジトリにGitHubのリポジトリが設定されている状態)
①EC2インスタンスにSSH接続
②鍵を保管するディレクトリに移動して鍵を作成。
cd ~/.ssh ssh-keygen -t rsa
③作成した鍵の公開鍵(XX.pub)の中身をコピーしてGitHubの「SSH keys」に設定
④EC2の"~/.ssh/config"に以下を記載
Host github.com User git HostName github.com IdentityFile ~/.ssh/作成した秘密鍵(XX)
⑤接続の確認→鍵の設定はうまくいっていそう
ssh -T git@github.com Hi (githubアカウント名)! You've successfully authenticated, but GitHub does not provide shell access.
⑥プロジェクトディレクトリでプルしようとするが、取得できない。
[ec2-user@ip-10-0-10-10 XXXXX]$sudo git pull origin master Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. [ec2-user@ip-10-0-10-10 XXXXX]$ git pull origin master error: cannot open .git/FETCH_HEAD: Permission denied
試したこと
調べるとsudoだと実行するユーザが変わるからうまくいかないとか、権限が合っていないようなことはわかって、いくつかディレクトリの権限を変更したりなどは行ったのですが解決には至りませんでした。
ユーザの権限設定が悪い、ディレクトリの権限や鍵の設定が間違っているなど、何かあれば教えていただけると助かります。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー