見出し画像

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に登録しているメールアドレスに置き換えてください。

以下の手順が求められます:

  1. ファイルの保存先: デフォルトのまま(~/.ssh/id_rsa)でOK。

  2. パスフレーズ: 空のまま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に登録

  1. 公開鍵をクリップボードにコピー。 cat ~/.ssh/id_rsa.pub

  2. GitHubの「Settings」→「SSH and GPG keys」にアクセス。

  3. 「New SSH key」をクリックし、以下を入力。

    • Title: 任意の名前(例: "Ubuntu Laptop")

    • Key: コピーした公開鍵

  4. 「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).

解決方法:

  1. 公開鍵が正しくGitHubに登録されているか確認。

  2. 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

とりあえずこれをやればアップロードができるので、結構使っています!」
以上です。

いいなと思ったら応援しよう!