git pushをするときに毎回ユーザーネームとパスワードを聞かれるのが面倒くさかったので、聞かれずにgit pushする方法を検索してみました。
git パスワード を毎回聞かれる問題の解決方法を参考にして解決することができたのでその時のメモです。
##SSHを使ってgithubと通信する
原因としましては、HTTPS通信を毎回行っていたため、パスワードを聞かれていたようです。
まずSSHに切り替える方法は、
git remote set-url origin コピーしたものをここに貼り付け
これでいったん完了です。
##公開鍵の作成
そこで、git pushしようとするとこのようなエラーが出ました。
ec2-user:~/environment (master) $ git push
The authenticity of host 'github.com (アドレス名)' can't be established.
(略)
Are you sure you want to continue connecting (yes/no)? Y
Please type 'yes' or 'no': yes
Warning: Permanently added 'github.com,(アドレス名)' (RSA) 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.
公開鍵の作成が必要なようでした。
Git サーバー - SSH 公開鍵の作成
を参考に公開鍵を作成します。
ec2-user:~/environment (master) $ cd ~/.ssh //sshディレクトリに移動
ec2-user:~/.ssh $ ls 中身をチェック
authorized_keys known_hosts 鍵はない
ec2-user:~/.ssh $ ssh-keygen 公開鍵を生成
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa): エンターキー押す
Enter passphrase (empty for no passphrase):
Enter same passphrase again: エンターキー押す
Your identification has been saved in /home/ec2-user/.ssh/id_rsa. 秘密鍵作成完了
Your public key has been saved in /home/ec2-user/.ssh/id_rsa.pub. 公開鍵作成完了
鍵が生成されたので、githubのほうに張り付けます。
ec2-user:~/.ssh $ cat ~/.ssh/id_rsa.pub catコマンドでコピー
githubに移動し、マイページのpersonal settings
のSSH and GPG keys
に入ります。
New SSH key
をクリックし、さきほどコピーした公開鍵をペーストします。
該当するディレクトリに移動し、git pushします。
ec2-user:~/environment (master) $ git push
成功しました!以上です。