SSH鍵設定の見直し
github, heroku等で個人用途にも関わらず
特に理由もなくSSH鍵をそれぞれ個別に作成してしまっていたので
デフォルトの~/.ssh/id_rsa(.pub)
で統一してしまいたいの巻。
乱造されたSSH鍵…
不要なものは削除して統一したい
1 2 3 4 5 6 7 8 9 |
|
SSH Key Pairの作成
ssh-keygen
で特にオプション指定しないで作成すると2048bitのRSA鍵が生成される。
1 2 3 |
|
-C
で入力したコメントがgithubのGUI等で確認できるので入力しておくとよい。
ssh
コマンドの-i
オプションで秘密鍵のファイルを指定しない場合は
~/.ssh/id_rsa
を読み込んでくれるのでファイル名もデフォルトのままで都合が良い。
パスフレーズを設定しておくと秘密鍵自体も暗号化した形で保存されるので ファイル覗かれても少し安心。もし変更したい場合は、
1
|
|
で一度設定したパスフレーズを変更できる。これはあくまでローカルマシンに保存されている 秘密鍵に対する変更なのでリモートで何かしないといけないわけではない。
GitHubにSSH Keyを登録しなおす
今まで利用していた鍵に代わって、ブラウザでPersonal settings > SSH Keys > Add SSH Key
から画面に従って公開鍵を登録。
pbcopy
でクリップボードを利用すると楽。登録するとGitHubからnew public key addedなメールが届く。
1
|
|
公開鍵認証で接続できるかテストしてみる。
1
|
|
パスフレーズの入力ダイアログが表示されるので入力。
1 2 |
|
こんな感じのメッセージが表示されればOK.
この時点でssh-add -l
を実行すると秘密鍵がssh-agent
に登録されているはず。
1 2 |
|
HerokuにSSH Keyを登録しなおす
Heroku Toolbeltはインストール済として…
1 2 3 |
|
現在登録されているKeyを確認の上、除去
1 2 |
|
もしくは全消去して
1
|
|
あらためて登録する。
1
|
|
どれを追加するのか聞かれるので
~/.ssh/id_rsa
に該当する番号を選択する。
登録できたら接続できるかテスト。
1
|
|
ssh-add -l
で~/.ssh/id_rsa
が登録されているのであれば
パスフレーズは聞かれない。
何回もパスフレーズ入力するの面倒くさい
-K
オプション付けてkeychainに登録するのはどうだろう。
1
|
|
man ssh-add
によれば-K
は
1 2 3 |
|
良さげな感じ。
VPSにSSH接続した状態でGitHub, HerokuにSSH接続
ssh -A
するか~/.ssh/config
でForwardAgent yes
を指定してあげれば
ローカルマシンの秘密鍵を利用してリモートマシンでSSH公開鍵認証できて便利ね。
エネルギー尽きた。