LoginSignup
5
4

More than 3 years have passed since last update.

Git の push 時のパスフレーズ省略

Last updated at Posted at 2020-03-22

はじめに

Windows + Git で SSH 通信の環境を対象としています。
パスフレーズの省略方法は複数ありますが、一番かんたん & セキュリティ的によさそうな方法
と個人的に思うものを記載します。

環境

~/.bashrc

~/.bashrcに以下を記入します。~/.bashrcがない人は新規作成してください。
ssh-add の行には、.pub ではない鍵(秘密鍵)を指定してください。
~/%HOME%を指しています。今回の場合はC:/Users/<ユーザー名>フォルダに.bashrcを新規作成してください。

~/.bashrc
#ssh-agent
eval $(ssh-agent -s)
ssh-add ~/.ssh/キー名

~/.bashrcは、Git Bash 起動時のみ実行されるので起動中の場合は再起動してください。
または、bash コマンドを叩くでも OK。

~/.bash_logout

ターミナルを閉じたときに、~/.bashrcで起動した ssh-agent を終了させるため
~/.bash_logoutに以下を記入します。~/.bash_logoutがない人は同じく新規作成してください。

~/.bash_logout
ssh-agent -k

Git Bash 起動時

Git Bash 起動時にパスフレーズを聞かれるようになります。
Git Hub (Git Lab) のパスワードを入力してください。入力後は、Git Bash を新たに立ち上げるまでパスフレーズを聞かれることはありません。

Agent pid 553
Enter passphrase for /c/Users/username/.ssh/id_rsa:

~/.bashrcを新規作成した人は、以下の警告が出ることがありますが

WARNING: Found ~/.bashrc but no ~/.bash_profile, ~/.bash_login or ~/.profile.
This looks like an incorrect setup.
A ~/.bash_profile that loads ~/.bashrc will be created for you.

~/.bash_profile、 ~/.bash_login または ~/.profile が見つからないので、~/.bashrc を読み込む ~/.bash_profile を作りました!
といった内容のため、気にしなくても問題はありません。

パスフレーズ入力後、以下のように出力されれば OK。

Agent pid 553
Enter passphrase for /c/Users/username/.ssh/id_rsa:
Itentity added: /c/Users/username/.ssh/id_rsa

さいごに

パスフレーズ省略の記事はいくつかありますが、
_netrc.gitconfig等の複数ファイルを編集する、パスフレーズをファイルに平文で記入するなど
むずかしそう & ファイルにパスフレーズを直接記入するのはセキュリティ的に不安だと思い
この方法に落ち着きました。

5
4
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
5
4