私が日本にいたときは、sshログインはパスワード認証だった。
経緯は、お客さんが、複数の検証端末を利用するため、
鍵認証だと不便なので、パスワード認証にしてくれとのことだった。
ところが、今働いている外資(米国)の企業では、
鍵認証以外の手段を許されていない。
したがって、私もSSHの公開鍵認証をするため、以下の手順にて準備をした。
・・が、よくわからないエラー?不測の動作が発生したので、以下に解決法をまとめる。
まずは、クライアントにて、.sshディレクトリ配下で、公開鍵のペアを作る。
[bash]
cd ~
mkdir .ssh
cd .ssh/
ssh-keygen -t rsa
[/bash]
すると以下のファイルが出来る。
id_rsa<-秘密鍵
id_rsa.pub<-公開鍵
この公開鍵をサーバに送付する。
セキュリティ向上のため、scpで送る。その後、authorized_keysを作る。
クライアント側で以下のコマンドを打つ。
[bash]
scp ~/.ssh/id_rsa.pub user@yourdomain:~/.ssh/
[/bash]
サーバ側で以下のコマンドを打つ。
[bash]
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
rm id_rsa.pub
[/bash]
これで基本的には完了。のはずだが・・・
クライアントからSSH接続を試みると、何度も、パスフレーズの指定を聞かれる。また、なぜか、パスワード認証も求められる。
なんでだろうと、いろいろと調べた結果、
試しにクライアントで、以下のコマンドを打つと解決した。
[bash]
cd ~
chmod 700 .ssh/
[/bash]
これで解決した。
すごい単純なミスでしたが、意外と私のようにハマっている人はいると思うので、
よければ参考に。
Leave a Reply