LoginSignup
2
2

More than 3 years have passed since last update.

サクッと公開鍵認証で SSH ログインする

Last updated at Posted at 2020-09-26

はじめに

SSH ログイン、まだパスワード入力してるの?
公開鍵認証方式にすれば省略できるよ!

クライアント側:Linux(WSL/2 環境も含む)
サーバ側:Linux

以下、サクッとクライアント側の作業。

サクッと鍵の生成

色々聞かれるけれど全てエンター連打でOK。

$ ssh-keygen -t ed25519

サクッと鍵をサーバに登録

上記で生成した公開鍵を、ログインしたいサーバに登録する。

$ cat ~/.ssh/id_ed25519.pub | ssh <ユーザ名>@<ホスト> 'cat >> ~/.ssh/authorized_keys'

以上!動作確認!

$ ssh <ユーザ名>@<ホスト>

パスワード無しでログインできる!ヤッター!

詳細・メモ書き

ログインできない場合

ゆってなかったけど、サーバ側の準備ができていないとサクッといけないんすわ。
サクッといかない場合は、接続先のサーバ側で以下を確認。

~/.ssh/authorized_keys ファイルが正しく存在すること

.ssh ディレクトリと authorized_keys ファイルのパーミッションが正しいことを確認する。

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

公開鍵認証が有効になっていること

sshd の設定ファイルを開く。

$ sudo vim /etc/ssh/sshd_config

PubkeyAuthentication がコメントアウトか、または no だと公開鍵認証方式が無効になっているので、以下のように yes で設定する。

PubkeyAuthentication yes

sshd サービスを再起動して反映

$ sudo systemctl restart sshd

鍵の署名アルゴリズムの種類と選択

RSA

セキュリティ面でも速度面でも積極的に選択する理由が無い。
セキュリティ面は 4096bit ならまだ大丈夫らしい。
無指定では 2048bit で生成される。

$ ssh-keygen -t rsa -b 4096

ECDSA

RSA より安全で高速な署名アルゴリズムを使用している。
鍵長は 256, 368, 521bit。512じゃなくて521で正しい。
521bit でも RSA より高速で、今は無難な選択。

$ ssh-keygen -t ecdsa -b 521

Ed25519

新しいものなので対応していない SSH サーバに出会うかも。
ECDSA より安全で高速な署名アルゴリズムを使用している。
鍵長は 256bit 固定。

$ ssh-keygen -t ed25519
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2