前回、LaravelだけGit管理するようにした。
AWS Cloud9+Docker ComposeでLaravel環境を構築その参
ただ、プッシュする度にユーザー名とパスワードを入力するのが面倒くさいので、SSH接続にする。
マシンスペック
- Mac mini 2018
- macOS Catalina(10.15.x)
- Intel Core-i7 3.2GHz 6コア
- メモリ 32GB
- SSD 512GB
Docker環境
- Nginx 最新版
- PHP(PHP-FPM)7.2.x
- MySQL 5.7.x
- Composer 1.x
- Laravel 5.6.x
やること
- リポジトリにSSH接続する
前提
AWS Cloud9+Docker ComposeでLaravel環境を構築その参で環境構築済み
GitリポジトリにSSH接続する
SSHキーペア作成
$ cd ~/.ssh
$ ssh-keygen -t rsa -b 4096 -C "GitHubメールアドレス"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa): <ENTERキー押す>
Enter passphrase (empty for no passphrase): <好きなパスワードを入力>
Enter same passphrase again: <パスワード再入力>
・・・
+----[SHA256]-----+
$ ls
authorized_keys id_rsa id_rsa.pub
$ cat id_rsa.pub
ssh-rsa ・・・
上記の ssh-rsa ・・・
をコピーしておく。
GitHubにSSH公開キー登録
上記でコピーした ssh-rsa 〜 を Key にペーストする。
GitHubとの接続を確認する。
$ ssh git@github.com
・・・
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,52.69.186.44' (RSA) to the list of known hosts.
Enter passphrase for key '/home/ec2-user/.ssh/id_rsa': <SSHキーペア作成で設定したパスワード>
PTY allocation request failed on channel 0
Hi bobtabo! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
SSHエージェントに鍵を登録する。
$ ssh-agent bash
$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/ec2-user/.ssh/id_rsa: <SSHキーペア作成で設定したパスワード>
Identity added: /home/ec2-user/.ssh/id_rsa (/home/ec2-user/.ssh/id_rsa)
HTTPSでクローンしたLaravelを削除
$ cd ~/environment/docker/src
$ rm -fdR laravel
SSHでクローンし直す
$ git clone <上記でコピーしたリポジトリURL> laravel
例)git clone git@github.com:bobtabo/cloud9-laravel.git laravel
クローンし直したので、下記を参考にLaravel環境を準備し直す。
【コピペ】AWS Cloud9+Docker ComposeでLaravel環境を構築その壱#Laravel環境の準備
プッシュする
適当にファイルを作成する。
ステージに追加。
ローカルリポジトリにコミット。
リモートリポジトリへプッシュ。
Log
> git push origin master:master
Warning: Permanently added the RSA host key for IP address 'xx.xx.xx.xx' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
でも、コマンドでプッシュ出来た。
$ pwd
/home/ec2-user/environment/docker/src
$ cd laravel
$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Compressing objects: 100% (1/1), done.
Writing objects: 100% (2/2), 301 bytes | 301.00 KiB/s, done.
Total 2 (delta 1), reused 1 (delta 1)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:bobtabo/cloud9-laravel.git
c6255c3..c188ca5 master -> master
Cloud9でSSH接続した際は、プル/プッシュはコマンド操作しよう!