🍣

社内でSSHを使用してGitHubリポジトリをクローンする方法

に公開

はじめに

企業環境ではセキュリティの観点から、社内ネットワークからのインターネットアクセスが制限されていることがよくあります。

こうした状況でも、リモートサーバを経由してGitHubリポジトリをクローンする方法として、「SSHローカルフォワーディング」が有効です。

この記事では、ローカルフォワーディングを活用してGitHubに安全にアクセスする手順を詳しく解説します。

前提条件

  1. ローカルマシンにSSHクライアントがインストールされていること
  2. リモートサーバへのSSHアクセス権限があること
  3. リモートサーバがGitHubにアクセスできること
  4. GitHubアカウントとアクセスしたいリポジトリへの権限があること

1. SSHローカルフォワーディングの設定

まず、ローカルマシンからリモートサーバへのSSH接続を確立し、ポートフォワーディングを設定します。

ssh <username>@<remote-server> -L 8080:localhost:80

usernameはリモートサーバのユーザー名に、remote-serverはリモートサーバのアドレスに置き換えてください。

2. GitHubでのトークン作成

右上のプロフィールアイコンをクリックし、Settingsを選択します。

image.png

左サイドメニューからDeveloper settingsをクリックします。

image.png

Personal access tokens > Tokens (classic)を選択します。

image.png

Generate new token (classic)をクリックします。

image.png

repoにチェックを入れます。

`image.png

Generate tokenをクリックします。
image.png

トークンが表示されたら、忘れずにコピーして安全な場所に保存してください。

3. リポジトリのクローン

ポートフォワーディングが確立された状態で、以下のコマンドを使用してリポジトリをクローンします:

git clone -c "http.proxy=127.0.0.1:8080" http://<username>:<token>/<repository>.git

usernameにはGitHubのユーザー名を、repositoryにはクローンしたいリポジトリ名を入力してください。また、tokenには先ほど生成したトークンを入力してください。

注意点

  1. SSHセッションの維持:このセットアップはSSHセッションがアクティブな間のみ機能します。セッションが切断されると、再度接続を確立する必要があります
  2. セキュリティポリシーの確認:企業のセキュリティポリシーに違反しないよう、必ず適切な許可を得てから実行してください

まとめ

SSHローカルフォワーディングを使用することで、直接のインターネットアクセスが制限された環境でも、安全にGitHubリポジトリをクローンすることができます。この方法は、企業のセキュリティ要件を満たしつつ、効率的な開発作業を可能にします。

Discussion