UbuntuからSSHを利用してGitHubへpushする方法
1. 前提条件
以下の条件を満たしていることを確認してください:
UbuntuがインストールされているPC
Gitがインストールされている
GitHubアカウントを作成済み
Gitのインストール方法
Gitが未インストールの場合、以下のコマンドでインストールします。
sudo apt update sudo apt install git
バージョン確認:
git --version
2. SSHキーを生成する
SSHキーを生成し、GitHubと連携します。
2.1 SSHキーの生成
ターミナルで以下を実行します:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
your_email@example.com はGitHubに登録しているメールアドレスに置き換えてください。
以下の手順が求められます:
ファイルの保存先: デフォルトのまま(~/.ssh/id_rsa)でOK。
パスフレーズ: 空のままEnterを押すか、任意のパスフレーズを設定。
完了後、以下のようなメッセージが表示されます:
Your identification has been saved in /home/username/.ssh/id_rsa
Your public key has been saved in /home/username/.ssh/id_rsa.pub
2.2 SSH公開鍵をGitHubに登録
公開鍵をクリップボードにコピー。 cat ~/.ssh/id_rsa.pub
GitHubの「Settings」→「SSH and GPG keys」にアクセス。
「New SSH key」をクリックし、以下を入力。
Title: 任意の名前(例: "Ubuntu Laptop")
Key: コピーした公開鍵
「Add SSH key」をクリックして保存。
2.3 SSH接続の確認
以下のコマンドを実行して、GitHubとの接続をテストします。
ssh -T git@github.com
成功すると以下のようなメッセージが表示されます:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
3. リポジトリの操作
3.1 ローカルリポジトリを作成する
新しいリポジトリを作成する場合:
mkdir my_project cd my_project git init
3.2 リモートリポジトリを追加
GitHubで新しいリポジトリを作成したら、リモートURLを追加します。SSH形式のURLを使用してください。
git remote add origin git@github.com:username/repository.git
※usernameとrepositoryはそれぞれ自分のGitHubアカウント名とリポジトリ名に置き換えてください。
4. ファイルをpushする
4.1 ファイルの追加とコミット
作成したファイルをリポジトリに追加します。
echo "Hello GitHub" > README.md git add README.md git commit -m "Initial commit"
4.2 リモートリポジトリへプッシュ
リモートリポジトリへ変更を反映させます。
git push -u origin main
初回のプッシュでは-uオプションを付けてデフォルトのブランチを設定します。
5. トラブルシューティング
問題: SSH接続に失敗する
エラーメッセージ:
Permission denied (publickey).
解決方法:
公開鍵が正しくGitHubに登録されているか確認。
SSHエージェントが秘密鍵をロードしているか確認: ssh-add ~/.ssh/id_rsa
問題: mainブランチが存在しない
初期設定でmainブランチを作成していない場合、以下を実行してからプッシュします:
git branch -M main
git push -u origin main
6. まとめ
SSHを使えば、安全かつ効率的にリポジトリを管理できます。特にUbuntu環境では、コマンドラインを活用することで素早く操作が行えます。
私の声:
「SSHの設定後は、私は次のコマンドをよく使います。
git clone {githubのurl}
git add .
git commit -m "a"
git push origin main
とりあえずこれをやればアップロードができるので、結構使っています!」
以上です。