スケルトン・エピ

letsspeakのブログです。

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で中断)

 

まとめ

サーバー側に公開鍵、クライアント側に秘密鍵が必要で、パーミッションの設定に厳しい。万が一接続できなくなった時のことは考えておいた方が良い。