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 リポジトリ名 クローンするディレクトリ名(任意)でクローンすることができる。