とりあえずブログ

普通のサラリーマンの雑多なブログ

パスワードなしでSSH接続する方法を図解する

これまでに何度となく、この方法でノンパスワードのSSH接続設定をやってきたか分からないのですが、毎回どっちでどっちの作業をやるんだっけってなるので、図解で整理しました。

初期状態

初期状態はSSHするサーバとSSHされるサーバが存在するだけです。

f:id:tkm03:20190416220730p:plain

SSHするサーバ側で鍵を作成

次にSSHするサーバ側で公開鍵と秘密鍵のペアを作成します。 もう作成されている場合はスキップです。

f:id:tkm03:20190416220919p:plain

コマンドはこんな感じ。 オプション「-t」で鍵タイプを指定します。 ここでは、rsaを指定しています。

ssh-keygen -t rsa

SSHするサーバ側で鍵ができる

すると、SSHするサーバ側で鍵が作成されます。 具体的には、~/.ssh配下にid_rsa秘密鍵)とid_rsa.pub(公開鍵)が作成されます。

f:id:tkm03:20190416221240p:plain

SSHされるサーバ側に公開鍵を転送

次にSSHされるサーバ側に公開鍵を転送します。 転送する方法はFTPでもSCPでも良いですが、要件に応じて転送方法を選びましょう。

f:id:tkm03:20190416221400p:plain

authorized_keysに公開鍵情報を書き込み

次にSSHされるサーバのSSHしたいユーザの~/.ssh/authorized_keysに公開鍵情報を書き込みます。

f:id:tkm03:20190416221454p:plain

コマンドはこんな感じ。

cat ~/id_rsa.pub >> authorized_keys

SSH接続確認

上記までできたら、SSH接続してみてパスワードなしでログインできることを確認します。

f:id:tkm03:20190416221719p:plain

いつも流れを忘れてしまうので、今回はわかりやすく概要だけ図解してみました。 うまくいかない方はファイルの権限周りを確認してみてください。