(Linux) 公開鍵を登録して、パスフレーズ無しでsshリモートログインする

linux-ssh-login-publickey

 

リモートサーバに公開鍵を登録して、
パスフレーズ無しでsshリモートログインできるようにする方法をシェア。

結論と言うかネタバレ的に言うと、
パスフレーズが必要ない公開鍵をログイン先のサーバに登録しておくことで、
sshログイン毎に聞かれるパスフレーズの入力を省略できるよ
って言うこと。

その手順を実施して見たので、シェア。

 

ssh-keyを作る

まずはssh-keygenコマンドで、ログインに使う鍵を作成(ローカル)。

ssh-keygen -t rsa

 

すると「鍵をどこに保存する?」と聞かれる。
デフォルトの場所で良いので特に何も考えず「enter」を押す

スクリーンショット 2019-10-26 0.08.39.png

 

そしたらパスフレーズの入力を求められる。
パスフレーズは無しにしたいので、ここでは「enter」を二回押す

スクリーンショット 2019-10-26 0.10.31.png

 

すると鍵が作成されるので下記コマンドで確認してみる

ls -l ~/.ssh/

 

id_rsaが秘密鍵
id_rsa_pubが公開鍵だ。
間違えると大変なので、覚えておこう。

スクリーンショット 2019-10-26 0.16.09.png

 

 

公開鍵の転送・登録

鍵の作成が完了したら、
下記コマンドでリモートサーバに公開鍵を転送、登録する

ssh-copy-id -i ~/.ssh/id_rsa.pub ユーザ名@ホスト名

 

登録が完了すると以下のような文言が表示される。

スクリーンショット 2019-10-26 0.32.14.png

 

画面にも表示されている通り、
sshコマンドでログインできるようになったはずなので確認してみる。

ssh ユーザ名@ホスト名

 

パスフレーズ無しでログインできたら成功

 

備考、サーバ側の公開鍵の確認

ssh-keygenコマンドで登録された、サーバ側の公開鍵がどうなっているのか一応確認してみた。

スクリーンショット 2019-10-26 0.36.23.png

 

authorized_keysって名前のファイルがそれ。

このファイルに登録された公開鍵が溜まっていって、
sshログイン時、ユーザ認証より先に公開鍵認証が成立するか判断する
らしい

権限も600になっている。
問題ないだろう。

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。