puttyとLinuxの連携は普段よく使っているが、LinuxからLinuxに公開鍵認証でログインしたことはほとんどなかったが、先週からLinuxで無線LANが利用できるようになったのでWindowsを捨てるべくLinuxデスクトップ環境で生きている(ほぼ80%)
で現状自宅メインサーバーはセキュリティ対策の為SSHログインは公開鍵認証しか許可していないのだが、Gnomeターミナルで公開鍵認証にチャレンジしてみた。
SSHクライアントが動くサーバーA
公開鍵認証を利用してログインされるサーバーB
まずはサーバーAのログインしたいユーザーのホームディレクトリで以下のコマンドを実行
ssh-keygen -t rsa
ユーザーディレクトリの.ssh/id_rsa(秘密鍵)と.ssh/id_rsa.pub(公開鍵)が作成される。公開鍵をログインしたいサーバーBに送る(SCPなりFTPなり)
ここからサーバーB側作業に移る。
公開鍵はログインさせたいユーザーの.ssh/authorized_keysに公開鍵を追記すればいい。
cat id_rsa.pub >> .ssh/authorized_keys
上記のコマンドでauthorized_keysがなければ新規作成、あれば追記される。なおこのauthorized_keysのパーミッションは600にしておかなければ公開鍵認証は失敗する。
でこれでうまくいくと思ったらデスクトップLinuxの本命として絶賛利用中のUbuntuLinuxからうまくいかない!!なんで?だいたいパスフレーズを聞いてこないのがおかしい。
しょうがない本命候補はもうひとつVineLinuxがあるさ。というわけでこちらで実行したところ即うまくいった。Ubuntuで公開鍵認証がうまくいかない理由がさっぱり見当つかないが継続調査。
普通のLinuxなら上記の手順で公開鍵認証でログインができる。公開鍵認証でログインできるようになったら、セキュリティ対策の為パスワード認証はNGにしておこう。