MacのSSH認証キーの落とし穴 | アドカレ2013 : SP #2
さて、このアドペンとカレンダーに初めて参戦する大村です。
初日から平井くんがガッツリアプリを作ってボリューミーになっていますが、今回は少しおとなしく、以前はまってしまったmacのSSHキーでの落とし穴の件でも話したいと思います。
まずはおさらいから
Macでの開発をしていると、複数のSSHホストに対して接続することは多々ありますね。
そうした時、複数の鍵を生成して鍵を分けることとかあると思うんですけど、その場合は、~/.ssh/configファイルを書き換えるっていうのは定説のはず。
その場合は、以下の様な形で記述することになります。
# github account git.xxxx.jp コメント行は#ではじめる Host git.xxxx.jp HostName git.xxxx.jp Port 10022 IdentityFile ~/.ssh/id_rsa.xxxx.jp.t_omura User t_omura Host yyyy.info HostName yyyy.info Port 7999 IdentityFile ~/.ssh/id_rsa User omura.takatoshi #トンネルを掘る場合はこうやって設定する Host 111.111.111.111 ProxyCommand ssh ohmura_takatoshi@000.000.000.000 nc -w 10 111.111.111.111 Host 000.000.000.000 User ohmura_takatoshi IdentityFile ~/.ssh/id_rsa Port 22
あくまで一例です。
Hostから次のHostが出てくるまでが一つのセッションとなり、ポート番号や鍵ファイル設定などを記述できます。
これで、次のSSHアクセスする時は
ssh yyyy.info
の形でアクセスすれば良くなるので楽です。
落とし穴は接続するときに
この設定はしたのですが、接続するときに以下の文章が出てうまく行きません。
Permission denied (publickey).
パーミッションの設定がおかしいと出ます。
ちなみにこのファイル、
ssh-keygen -t rsa
というコマンドで出力しただけのシンプルなものでした。
パーミッション関係で色々調べると、とりあえずパーミッションを600にしろって言われたので、そのとおりにします。
chmod 600 ~/.ssh/id_rsa
これでもまだうまく行きません。
で、色々と調べてみたら、最後にこれをしなければならないというところにたどり着きました。
ssh-add ~/.ssh/id_rsa
複数のssh keyを作った場合、これで登録を行わないと使えないみたいです。
盲点でした。前に、別のプロジェクトで公開鍵を作っていたのが原因でした。
といったところで、2日目となります今回は、ちょっとしたMacでスマホアプリを作るときの落とし穴というか半日かかったトラブルについてのお話でした。