【GitHub】LinuxマシンからGitHubにSSH接続を確立する
今回はGCP上に立てたVMにSSHログインして、そこからさらにGitHubに対するSSH接続を確立し、本番環境にソースコードを転送出来るようにします。
※ローカル開発環境(=自分のパソコン)上には既にgitがインストールされていて、GitHubと連携出来ていて、開発リポジトリが作ってある前提です。そこからやりたい人は適宜ググってください。
VMにSSH接続しーました、というところから。
gitインストール
$ sudo apt-get install git-all
sudo は以下のコマンドをroot権限で実行しろよ、と言う命令。GCPコンソールのSSHボタンから接続すると、GCPユーザーでログインしたような感じになるので、ここから先は事ある毎にsudoすることになる。
apt-getできない場合は「Linux git インストール」とかでググるよろし。
$ git --version
で、gitがインストール出来たかを確認。
リポジトリを設定
$ git init
$ git remote add origin https://github.com/REPOSITORY.git
リポジトリのURLはGitHubDesktopのリポジトリ設定で調べるのが一番楽。
(ブラウザで、GitHub上のリポジトリを開いて、Codeタブの中にある緑色のCodeボタンを押す→SSHタブを開いて、SSHアクセス用のアドレスをコピー)
SSH接続を設定(毎回パスワード入れるのを省略)
鍵ペアを作成
$ cd ~/.ssh
$ ssh-keygen -t ed25519 -C ""
ed25519は暗号化の方式なのでそのまま指定する。
実行するとファイル名を聞かれるので任意のファイル名を入力。その後パスワードを求められるので空白のまま2回enterでOK。SSH公開鍵が発行される。
公開鍵を取得
$ cat ~/.ssh/FILE_NAME.pub
FILE_NAMEは先ほど指定した任意のファイル名。
実行すると公開鍵の文字列が表示されるので、ssh-ed2559から始まる文字列全てをコピーしておきます。
続いて、GitHubにブラウザからアクセスして、公開鍵を登録します。
Setting>SSH and GPG keysで、SSHkeysの欄にある「New SSH key」を選択。
適当なタイトル(接続元名とかにすればわかりやすい)を付けて、先ほどの公開鍵をKey欄に登録。
ホストの設定
$ vi ~/.ssh/config
でSSHの設定ファイルを開き、
Host github github.com
HostName github.com
User git
IdentityFile ~/.ssh/FILENAME
と入力して保存。(Userは、gitHubのユーザー名ではなく、「git」でOK)
接続確認
$ ssh -T github
で接続確認。最初は
という警告が出てびっくりしますが、「接続したことないところだけど大丈夫?」ということだそうなのでyesと入力して続行。心配な時は「fingerprint」を入力してフィンガープリントを確認。
と表示されればOK。シェルアクセスはできねぇよと言われてますが、シェルアクセスはしないので問題ないです。
リポジトリをcloneしてみる
ブラウザで、GitHub上のリポジトリを開いて、Codeタブの中にある緑色のCodeボタンを押す→SSHタブを開いて、SSHアクセス用のアドレスをコピー。
$ git clone REPOSITORY_ADDRESS
すればリポジトリがcloneされます。
Pullもしてみる
$ cd REPOSITORY
してクローンしたリポジトリフォルダの中へ移動してから
$ git pull origin master
します。(masterのところは本番ブランチの名前を入れる。mainだったりrereaseだったり)
メインブランチとは別にリリース用のブランチを作っておくのがよさそう。
移動するの忘れてpullすると要らんところに種々のファイルがわーーーって展開されて泣く。
これで本番環境にファイル転送出来るようになりました。やったねー
この記事が気に入ったらサポートをしてみませんか?