0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【開発効率化】GitのSSH認証でパスフレーズ入力を省略する方法

Posted at

GitのSSH認証でパスフレーズ入力を省略する方法

問題

GitHubにSSHキーでアクセスする際、git pushやgit pullのたびにパスフレーズの入力を求められる。
パスフレーズの入力を省略する方法を記載します。

user@MacBook % git push origin ブランチ名
Enter passphrase for key '/Users/user/.ssh/id_rsa_github': 

解決方法

1. ssh-agentにキーを追加(一時的)

ssh-add ~/.ssh/id_rsa_github

sshセッション中のみパスフレーズ入力が不要になります。

ssh-add SSH認証エージェント(ssh-agent)にSSHキーを追加するコマンド
~/.ssh/id_rsa_github 追加するSSHキーファイルのパス

ssh-agentとは

SSHキーを一時的にメモリ上で管理するプログラム
パスフレーズを一度入力すれば、セッション中は再入力不要になる

2. SSH設定ファイルの作成(永続化)

~/.ssh/configファイルに以下の設定を追加:


# 該当のファイルを修正する
~/.ssh/config

# 設定内容
Host github-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_github
    IdentitiesOnly yes
    AddKeysToAgent yes
    UseKeychain yes

3. macOSキーチェーンへの保存

ssh-add --apple-use-keychain ~/.ssh/id_rsa_github

設定内容の説明

設定項目 説明
Host 接続時の識別名
HostName 実際の接続先
User 接続ユーザー名
IdentityFile 使用するSSHキーのパス
AddKeysToAgent ssh-agentへの自動追加
UseKeychain macOSキーチェーンの使用

動作確認

設定後、以下のコマンドでパスフレーズなしでアクセスできることを確認:

ssh -T git@github.com

注意点

  • この設定はmacOS向けです
  • Linuxの場合はUseKeychainオプションは不要
  • 複数のGitHubアカウントを使用する場合は、それぞれ異なるHost名を設定

まとめ

ssh-agentとmacOSキーチェーンを組み合わせることで、SSH認証のパスフレーズ入力を省略し、開発効率を向上させることができます。
こういう一つ一つの小さい効率化が最高の結果を生み出します。
どんどん効率化していきましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?