Xサーバーにgithubにssh接続してプライベートリポジトリをクローンする


エックスサーバーにGithubのアカウントをssh接続してプライベートリポジトリを簡単にクローン出来るようにしたい。

手順

まずエックスサーバーにssh接続して

ssh-keygen -f .ssh/github

このコードでサーバー内でsshの秘密鍵と公開鍵を生成。

Enter passphrase (empty for no passphrase): みたいなメッセージでパスフレーズを聞かれるので何も入力せずEnter。

鍵が生成出来たらconfigファイルを作成して.sshディレクトリに置く。configファイルの中身はこんな感じ↓

Host github.com
User Githubのユーザー名
IdentityFile ~/.ssh/github

configファイルが作れたら.sshディレクトリの中にあるgithub.pubの中身をコピーする。

そしたら自分のGithubのアカウントページを開き、右上のアカウントのアイコンをクリックしてsettingをクリック。左のメニューからSSH and GPG keysを選択してNew SSH keyボタンを押して先ほどコピーしたgithub.pubの中身をペーストする。

キーを登録したらをコマンドラインから

ssh -T git@github.com

を打ち、The authenticity of host 'github.com、、、みたいなメッセージが出たらyesを打つ。Hi ユーザー名! You've successfully authenticated, but GitHub does not provide shell access.というメッセージが出たら成功。

適当なディレクトリでgit clone git@github.com:ユーザー名/リポジトリ名.gitを打ち、クローン出来ているか確認する。

そのままだとコマンドが長いので.bash_profileあたりにエイリアスを登録しておくと便利。

alias gclone='function _gclone() { git clone git@github.com:ユーザー名/$1.git $2; }; _gclone'

上記のエイリアスだとgclone リポジトリ名 クローンするディレクトリ名(任意)でクローンすることができる。

参考:https://zenn.dev/joh_luck/articles/6e0d029bd6a33a