1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SSHの認証をパスワードから鍵認証に変更する

Last updated at Posted at 2022-11-06

環境

サーバー側の OS : Ubuntu 20.04 LTS
クライアント側の OS : Windows11
使用ソフト : OpenSSH

変更の動機

パスワード方式よりも安全そうだったので。

手順

0,サーバー機へアクセス可能かを確認する

頑張ってください。
(パスワード認証のSSHやリモートデスクトップなど)

1,鍵を生成する

OpenSSHが入っていることを確認して、クライアント側のPCでssh-keygenを実行する。

ssh-keygen -t ed25519とすることでデフォルトのものよりも破られにくい鍵を生成することができる。(推奨)

実行してからパスフレーズの入力などを求められるが、必要でなければ何も入力せずにEnterを押して進む。

2,「公開鍵」をコピーする

きちんと鍵が生成されていることを確認(※1)して拡張子が.pubになっているファイルの中身(※2)をコピーする。


※1 : 保存先を指定せずに鍵を生成すると Windows の場合はC:\Users\[ユーザー名]\.ssh配下に保存される。

※2 : .pub が付かない方のファイルは秘密鍵と呼ばれるもので、絶対に流出させてはいけない。


3,「公開鍵」をサーバーに置く

公開鍵をコピーしたらサーバーに接続して
/home/[ユーザー名]/.ssh/authorized_keysにペーストする。
.ssh(ディレクトリ) や authorized_keys(ファイル) が存在しない場合は mkdirtouch を使って作成する。

この時、.ssh と authorized_keys の所有者、権限を変更しておく。
アクセス権限は .ssh は 700 , authorized_keys は 600 にする。
(700 は所有者のみ読み書きと実行が可能な状態 / 600 は所有者のみ読み書きが可能な状態)

↓権限の変更
sudo chmod 700 /home/[ユーザー名]/.ssh
sudo chmod 600 /home/ユーザー名]/.ssh/authorized_keys

↓所有者の変更
sudo chown [ユーザー名] .ssh
sudo chown [ユーザー名] authorized_keys

.ssh ディレクトリの権限と所有者は以下のようになれば良い
image.png
authorized_keys の権限と所有者は上の画像で
drwx------となっている部分が
-rw-------であれば良い。

4,sshのデーモンの設定ファイルを書き換える

/etc/ssh配下に存在するsshd_configの内容を書き換える。
同じディレクトリにssh_configというファイルも存在するがそちらではない。

PubkeyAuthenticationを yes に変更
PasswordAuthenticationを no に変更
PermitEmptyPasswordsを no にする
AuthorizedKeysFileのコメントアウトを外す (先頭の#を消す)

書き換えたら保存する。

5,sshdの再起動

sudo systemctl restart sshdで sshd を再起動する。

6,接続テスト

クライアント(今回はwindows11)でssh [ユーザー名]@[サーバーのIPアドレス]を実行し、接続できれば成功。
(ポートをデフォルトの22から変更している場合はユーザー名の前に-p [ポート番号]を入れる)

出来なければ上記の手順をもう一度見直す。

終わりに

鍵認証方式を用いることでセキュリティを強固にでき、さらに接続時にパスワードを入力する手間を省くことができる。よほどの事情がない限り鍵認証を用いた方が良いといえる。

追記

Ubuntu Server 22.04 でも設定する機会があったのでメモ。

.ssh ディレクトリと authorized_keys ファイルが元から存在していた。
加えて権限も最初からディレクトリが700、ファイルが600に、所有者も設定されていたのでちょっとだけ楽だった。

終わり

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?