OpenSSHの鍵のメモ
・サーバー側OpenSSHの設定はサイトの通りで問題なし
・鍵作成とログインまでの手順は下記の通り
【共通】rsaの公開鍵ペアを作成
ssh-keygen -t rsa
※サーバー側で作成実験したがクライアント側でもいけるはず。
※鍵の転送にはftpやscpなどを使う。
<サーバー側>
【1】サーバー側でログインしたいユーザーのホームディレクトリに移動
【2】~/.ssh/authorized_keys に公開鍵を追加する
cat hoge.pub >> ~/.ssh/authorized_keys
【3】authorized_keysの初回生成時はパーミッションを600に設定する
<クライアント側(MacOSXで確認)>
【1】秘密鍵をクライアント側の任意の場所に保存しておく
【2】鍵を指定してssh接続する
ssh -i hoge.key hoge@192.168.XXX.XXX
【3】rsa公開鍵ペア作成時のパスワードを入力する
その他
・MacOSXの場合は鍵が自動でキーチェーンに追加されるためクライアント側【1】で保存した鍵を消してもログインできてしまう仕様。
・クライアント側【2】で秘密鍵のパーミッションが744になっていたら怒られた。600にしたらうまくいった。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0744 for 'hoge.key' are too open. It is recommended that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: hoge.key Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
追記
・クライアント側【2】で秘密鍵のファイル名に.keyが付いていなかった場合、無反応になった。(Control-Cで中断)
まとめ
サーバー側に公開鍵、クライアント側に秘密鍵が必要で、パーミッションの設定に厳しい。万が一接続できなくなった時のことは考えておいた方が良い。