リモートサーバに公開鍵を登録して、
パスフレーズ無しでsshリモートログインできるようにする方法をシェア。
結論と言うかネタバレ的に言うと、
パスフレーズが必要ない公開鍵をログイン先のサーバに登録しておくことで、
sshログイン毎に聞かれるパスフレーズの入力を省略できるよって言うこと。
その手順を実施して見たので、シェア。
ssh-keyを作る
まずはssh-keygenコマンドで、ログインに使う鍵を作成(ローカル)。
ssh-keygen -t rsa
すると「鍵をどこに保存する?」と聞かれる。
デフォルトの場所で良いので特に何も考えず「enter」を押す
そしたらパスフレーズの入力を求められる。
パスフレーズは無しにしたいので、ここでは「enter」を二回押す
すると鍵が作成されるので下記コマンドで確認してみる
ls -l ~/.ssh/
id_rsaが秘密鍵、
id_rsa_pubが公開鍵だ。
間違えると大変なので、覚えておこう。
公開鍵の転送・登録
鍵の作成が完了したら、
下記コマンドでリモートサーバに公開鍵を転送、登録する
ssh-copy-id -i ~/.ssh/id_rsa.pub ユーザ名@ホスト名
登録が完了すると以下のような文言が表示される。
画面にも表示されている通り、
sshコマンドでログインできるようになったはずなので確認してみる。
ssh ユーザ名@ホスト名
パスフレーズ無しでログインできたら成功
備考、サーバ側の公開鍵の確認
ssh-keygenコマンドで登録された、サーバ側の公開鍵がどうなっているのか一応確認してみた。
authorized_keysって名前のファイルがそれ。
このファイルに登録された公開鍵が溜まっていって、
sshログイン時、ユーザ認証より先に公開鍵認証が成立するか判断するらしい
権限も600になっている。
問題ないだろう。
コメントを残す