gitと言えばターミナルですが、どうにかしてボタン操作のみでSoursetreeをリモートリポジトリに接続したかった私の闘い(?)の記録をここに残します。
※Windows環境においての記事になります。
※とにかくリモートリポジトリにSSH接続したいので細かい説明端折ります。
1) Soursetreeインストール
-
「SSHキーを読み込みますか?」というポップアップが出たら
あればはい
、なければいいえ
※今回はいいえ
を選択したとして進めます。
2) Soursetreeにリポジトリを作成する
Create
をクリックしてgitで管理したいファイルを参照
し、リポジトリ名を入力 > 作成
3) コミットします
4) Githubアカウントにリポジトリを作成
-
ログインして
Create repository
https://github.co.jp/
5) Soursetreeの設定
-
SSHキー:5)-7で保存した「id_rsa」を選択
SSHクライアント:OpenSSH
※注意
SSHクライアントをOpenSSHにするとツールの「SSHキーの作成/インポート
」が「SSHキーを追加
」に変わります。
「SSHキーの作成/インポート
」を使いたいときは
ツール
>オプション
>SSHクライアントの設定
でSSHクライアントを 「PuTTY/Plink
」に変更してください
↓
6) GitHubの設定
6) プッシュなどができれば成功です!
備考:なぜPuTTYキーではなくOpenSSHキーを使用したのかについて
何度かPuTTYキーで試しましたが、上手くいったことがなく、結局ターミナルでの修正が必要となったため、何が違うのだろうということでAIに聞いてみました。
GitHubをOpenSSHとPuTTY Keyで接続する違いについて解説
GitHubにSSH接続する際、主に利用されるのは以下の2つです:
- OpenSSH形式
- PuTTY Key(PuTTYgenで生成される
.ppk
形式)
それぞれの違いやセキュリティ面、不都合について解説します。
1. OpenSSHとPuTTY Keyの違い
特徴 | OpenSSH | PuTTY Key (PuTTYgen) |
---|---|---|
鍵形式 | OpenSSH形式 (id_ed25519 など) |
PuTTY形式 (.ppk ファイル) |
利用ツール | Unix系OS標準(Linux, macOS, Git Bash等) | PuTTY (主にWindowsで使用) |
互換性 | OpenSSH対応ソフトウェア全般で使用可能 | PuTTY専用ツールでのみ使用可能 |
変換の必要性 | GitHubと直接連携可能 |
.ppk をOpenSSH形式に変換が必要 |
手軽さ | 標準ツールで簡単 | 変換や追加ツールが必要な場合がある |
2. 注意点
両者は適切に設定すれば大きな差はありませんが、次の点を考慮してください。
OpenSSHの利点
- 標準形式: OpenSSH形式は多くのツールやプラットフォームでサポートされ、変換の手間が不要。
-
最新アルゴリズム対応:
ed25519
やecdsa
など、効率的かつセキュアなアルゴリズムを利用可能。 - 広く検証されている: OpenSSHは業界標準であり、セキュリティ面での信頼性が高い。
PuTTY Key (PuTTYgen) の注意点
-
変換が必要:
.ppk
形式はGitHubなどのプラットフォームで直接使用できないため、OpenSSH形式に変換する必要がある。 - ツール依存: PuTTY形式はPuTTY専用であり、他のツールでの互換性が低い。
- セキュリティの同等性: 鍵サイズやアルゴリズムの選択次第でOpenSSHと同等のセキュリティを実現可能。
3. 実務での不都合
OpenSSHの場合
- 特に不都合は少なく、標準ツールで簡単に運用可能。
- GitHubやCI/CDなどでの設定もスムーズ。
PuTTY Keyの場合
-
変換が必要: GitHubやOpenSSH形式を期待するツールで利用するには、PuTTY形式(
.ppk
)をOpenSSH形式に変換する手間が発生します。puttygen keyfile.ppk -O private-openssh -o id_rsa
感想
OpenSSHはGithubだと直接連携できるけど、PutyKeyだとOpenSSHに変換しないといけないのでSourcetreeの中で上手くいかない部分があるのかも...?
PuTTYKeyを使っていてもAIに聞きながらターミナル(Git Bash)でどうにかすることもできますが、ボタン操作のみで何とかしたかったのでやってみました!
ありがとうございました!