仮想環境からGit cloneの失敗は、SSH出来てないからだよねって話

仮想環境のUbuntuからGit cloneしようとしたら失敗した。

>git clone git@gitlab.com:xxxxx/yyyyy.git
Cloning into 'yyyyy'...
The authenticity of host 'gitlab.com (9999:9999:99:9:ffff:ffff:ffff:ffff)' can't be established.
ECDSA key fingerprint is SHA256:Ff9Ff9Ff9Ff9Ff9Ff9Ff9Ff9Ff9Ff9Ff9Ff9Ff9Ff9F.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitlab.com,9999:9999:99:9:ffff:ffff:ffff:ffff' (ECDSA) to the list of known hosts.
git@gitlab.com: Permission denied (publickey).
fatal: Could not read from remote repository.

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

原因はSSH接続失敗してるからなんですって、奥さん!

解決方法1:HTTP接続に変更

つまり『Gitのコマンド貰ったなら、書き換えてしまえばいいじゃない』方法である。
GitのURLって大概、下記のように両方用意してある。
SSH でクローン
git@gitlab.com:xxxxx/yyyyy.git
HTTPS でクローン
https://gitlab.com/xxxxx/yyyyy.git

HTTP接続なら、Push時毎回パスワード聞かれるけど、それくらいイイじゃない派にオススメ
何も設定しなくていいし。

解決方法2:SSHログイン設定

逐一パスワードなんて入力したくないから、1回で設定しきっちゃいたい人向け
正直ちょっとめんどくさい。

まず仮想環境に入る。自分の場合はUbuntu。
『検索』から『Ubuntu』と打ち込んで、出てきた横のリストから『管理者として実行』をクリック。
するとSSHしたみたいな感じで、Ubuntu出てくる。

sshキーファイルを格納するフォルダに移動

cd ~/.ssh

sshキーを作成:ssh-keygen -t 鍵タイプ -f ファイル名

ssh-keygen -t rsa -f gitlab_rsa

入力を求められるが、パスワード不要ならEnter、Enter。

vi gitlab_rsa.pub

で出てきた内容を、Gitlabのユーザ設定>SSH鍵のキーに登録。
タイトルは自由。

参考GitLabにSSHで接続するまでの手順 - Qiita

コメント

タイトルとURLをコピーしました