【SSH接続】サーバ上でGitHubを使う手順【公開鍵と秘密鍵】

  • このエントリーをはてなブックマークに追加
  • Pocket

こんにちは。タクマ™ [@suwaru_blog] です。

ローカル開発環境で GitHub にプロジェクトを push したら、
今度は本番環境で git clone したり git pull したいはずです。

今回はサーバ上で GitHub を使えるようにするまでの設定・手順を解説します。

サーバ上で GitHub を使う方法は?

サーバ上で GitHub を使えるようにするためには、
GitHub とあなたのサーバが SSH 接続できるように設定してあげないといけません。

そこで、対象となるサーバ上で公開鍵秘密鍵 (pem ファイル) を作成して、
GitHub には公開鍵を登録する必要があります。

秘密鍵・公開鍵を作成する

# .ssh ディレクトリに移動します
# .ssh ディレクトリがないなら mkdir -p ~/.ssh で作成してください
cd ~/.ssh

# 既に id_rsa.pub と id_rsa が存在していないか確認してください
ls

# 秘密鍵・公開鍵の作成を行う
# 既に存在している場合は上書きしてしまうので注意してください
ssh-keygen -m pem

# 色々と英語で聞かれますが、何も入力せず Enter 連打で OK

# 公開鍵を表示して、文字列をコピーしておきます
cat ~/.ssh/id_rsa.pub

# 以下ファイルに公開鍵を追記します
vi ~/.ssh/authorized_keys

git コマンドもインストールしておく

当然のことながら git コマンドが必要なのでインストールしておきましょう。

# CentOS の場合
sudo yum install -y git

# Ubuntu の場合
sudo apt install -y git

GitHub に公開鍵を登録する

Settings を選択する

GitHub 右上のプロフィール画像をクリックして「Settings 」メニューを開いてください。

SSH and GPG key → New SSH key

「SSH and GPD keys」メニューを開くと「New SSH Key」ボタンがあるので押してください。

その画面で先ほど公開鍵 (id_rsa.pub) の文字列を登録してください。
これで準備は完了です。サーバ上で以下コマンドを試してみてください。

ssh -T git@github.com

Hi Takuma-Ikeda! You've successfully authenticated, but GitHub does not provide shell access.

こんな感じで表示されるはずです。

fatal: could not create work tree dir ‘*’: Permission denied

これで GitHub のリモートリポジトリとやり取りできるようになるので、
git clone などできるようになるはずです。

fatal: could not create work tree dir '*': Permission denied

もしこういったエラーが表示されてしまったら、
そのディレクトリにアクセス権がないだけなので chmod 777 [ディレクトリ] でもすれば OK です。

関連記事

お仕事ください!

僕が代表を務める 株式会社 EeeeG では Web 制作・システム開発・マーケティング相談を行っています。
なにかお困りごとがあれば、Twitter DM や Web サイトからお気軽にご相談ください。

コメント

コメントを残す

*