僕の相方氏がかなりssh(Secure SHell)に躓いていたので、ちょこちょこっとメモする。
sshでサーバーに入るためには、パスワードを入力する方法と公開鍵を使う方法のどちらか2種類の方法を 使う必要があります。まあ、方法には一長一短あるよね……
まあどう考えても公開鍵認証やるよね。 というわけで公開鍵認証の設定をしていきます。
とおもむろにターミナルで打つと、
と言われるので、お好きな名前で保存してください。 ただし、デフォルトで読み込まれるのが~/.ssh/id_rsaという名前の鍵なので、 初めて生成する場合は特に何も考えずにエンターを押して構いません。 続けて、
と言われるので、適当なパスフレーズを打ち込んでください。
でもう一回同じパスフレーズを打つと、晴れて鍵のペアが生成されます。 この鍵ペアのうち秘密鍵(id_rsa)の方は誰にも知られないように、~/.ssh/の中に置いておいてください。 知られないようちゃんと管理しておけば、いくら使いまわしたって問題ありません。なので普通は、一回鍵を生成するだけですみます。
ここからは接続先のサーバーをfoo.jp、ユーザー名をhogeとします。 まずはそこに入れないとどうしようもないので、sshします。
これを打ってみて、パスワードの入力を求められたら成功です。パスワードを打ち込みましょう。もし
とか言われたら、portが開いてません。/etc/ssh/sshd_configの中に #Port 22 とか #ListenAddress 0.0.0.0 とか書いてある行があるので、 su権限でコメントアウトを消してください。
id_rsaは秘密鍵ですが、もう一個生成された方(~/.ssh/id_rsa.pub)は公開鍵と呼ばれ、接続したいサーバーに登録しておくものです。 自分のPCのターミナルから
と打てば公開鍵の登録の完了です。 2個目以降の秘密鍵を登録したいときはscpでサーバーにid_rsa.pubをコピってきて
ってやると幸せになれるんじゃないかな?
ということで、接続する準備が整いました。こちら側のPCからコマンドラインを叩きます。
これでパスワードなしで入れるようになりました!