今回やりたい事_説明
- EC2インスタンスとGithubをGit>SSH接続済みだが、GithubをbacklogGitに変更したい。
- backlog側では接続元IPアドレスによって、アクセスを制限したい。
今回やりたい事_イメージ図
▼環境案内▼
PC:Windows OS 10(非エンジニアなので細かいことは書かない。)
Backlog:管理者権限を保持
Git:WindowsPC、EC2に事前インストール済み
backlog:WindowsマシンのNetworkのGIP登録済み、Gitリポジトリ作成済み
NETWORK:普通に自宅のWi-fi か 会社有線LAN環境
1.EC2にコンソールで接続しGitリモートURLを変更する
対象のユーザ名を入力し、Gitリポジトリのディレクトリまで移動し以下コマンドでGit存在確認
- 1
git --version
←Gitのバージョン確認。(ちゃんとGitあるよね?の確認) - 2
git remote -v
←Gitのリモート接続先URLを確認できる(URLはちゃんとGithubのリポジトリURLだよね?の確認)
gitremoteの結果は以下のように返答あり
origin Github接続先のSSHURL (fetch)
origin Github接続先SSHURL (push)
ここからが本番
- 3
git remote set-url origin BacklogGitのSSH接続URL
←Gitのリモート接続先URLを変更できる
すると、、、、何も反応なし - 4
git remote -v
←Gitのリモート接続先URLを確認できる(URLはちゃんと Backlog のリポジトリURLだよね?の確認)
gitremoteの結果は以下のように返答あり
origin BacklogGit接続先のSSHURL (fetch)
origin BacklogGit接続先SSHURL (push)
変わってる!よっしゃ!
2.Gitリモート先にfetchしてみる
- 1
git fetch
←Gitのリモート先に状態を確認アンド最新情報を取得する。(つまりリモート先のBacklogGitに接続できているよね?の確認)
gitremoteの結果は以下のように返答あり。何か聞かれている。無邪気に「Yes」を選択
The authenticity of host 'backlogURL (000.000.000.000backlogサーバのIPっぽいもの)' can't be established.
ECDSA key fingerprint is SHA256:固有の値.
ECDSA key fingerprint is MD5:固有の値.
Are you sure you want to continue connecting (yes/no)? yes
すると、、、
Warning: Permanently added 'backlogURL,(000.000.000.000backlogサーバのIPっぽいもの)' (ECDSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
なんかダメと言われている気がする。。正直ここからハマりました。。。
- 2 ダメ元でGitpullしてみる
git pull
←Gitのリモート先からファイルを呼ぶ。(つまりリモート先のBacklogGitに存在するファイルをEC2にダウンロードするコマンド)
Warning: Permanently added 'backlogURL,(000.000.000.000backlogサーバのIPっぽいもの)' (ECDSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
なんかダメと言われている。わかんない。。Googleさんで調べる。Qiitaでもしらべる。。。。けどないよ。。引っかかる事例ではローカルリポジトリは大体ローカル環境な事がほとんどでEC2をローカルリポジトリにしている事例がないな。。
迷子。。
3.問題解決にはげむ。Google検索調べまくり。。
Permission denied (publickey).
しらべるとこのメッセージが出ているって事は、BacklogGitにはコマンドが届いている証拠らしい。
なので1-4でおこなったseturlの値は間違ってない。
けど認証できていないらしい。くらいまではわかった。。。でも事例が見つからないですね。。
ダメ元でEC2のパブリックIPv4アドレスをBacklogの接続元IPに追加してみた。
すると、行けた。git fetch
もgit pull
もできました。
はい。ここまで。ポイントはEC2インスタンス自体のパブリックIPv4アドレスです。もちろん、EC2側のネットワーキング設定でいろいろ条件違ってくると思いますが、誰かの参考になれば。