今まで、FTPを使ってXserverのリポジトリにデータを移行していましたが、1月以降の案件でAWSのコンテナへターミナルから操作するらしいのです。AWSはお金がかかるので、研修で使わせていただいているXserverで、gitの操作ができることを目標にして検証します。(もっと効率のいいやり方があるかもしれません。あくまで私の学習記録としてご覧ください。間違いなどございましたらご教示いただけますと幸いです)
SSH接続
1 .公開鍵の作成
2 .ダウンロードした秘密鍵を~/.ssh/ディレクトリに保存
cd ~/.ssh/
mv ~/Downloads/your_private_key ~/.ssh/
chmod 600 ~/.ssh/your_private_key (権限強化)
3 .~/.ssh/configファイルに以下の設定を追加(vimなどで記述)
Host xserver
HostName サーバID.xsrv.jp
User サーバID
Port 10022
IdentityFile ~/.ssh/your_key_file
このおかげで
ssh xserver
と入力すればSSH接続が可能となります。
gitとの連携
今回は、すでにgitがインストールされている想定でいきます。
1 .リポジトリをクローン
cd /path/to/your/public_html
git clone git@github.com:your-username/your-repository.git .
2 .ローカルで公開鍵を生成
ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
この時
Enter passphrase (empty for no passphrase):
が表示されたら、パスワードを設定できます。(設定しておくと安心)
セッション中にはパスワードを一回のみの入力で済ませられるコードもあります。
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
3 .GitHubに公開鍵を登録
Settings=>SSH and GPG keys
4 .接続をテスト
ssh -T git@github.com
Enter passphrase for key '/home/*****/.ssh/github':
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
(この文字が出たら成功)
これでターミナル上でのgitの操作ができます!
例えば
git pull origin main
Enter passphrase for key '/home/******/.ssh/github':
From github.com:your-username/your-repository
* branch main -> FETCH_HEAD
Already up to date.
リモートリポジトリの変更をサーバーへ反映させることができます(今までFTPでやっていたこと)
感想
よりエンジニアらしいことができるようになったと感じ、自己肯定感が上がりました
あと、Warpすごい!(コードの予測をしてくれるので)
今年はエンジニアという未経験の分野に挑戦できた素晴らしい年でした。
この場を借りてお世話になった方々へお礼申し上げます