0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita全国学生対抗戦Advent Calendar 2024

Day 11

Linuxに公開鍵認証でログインする

Last updated at Posted at 2024-12-10

はじめに

公開鍵認証でログインしたいときにやることをまとめました。

1. 新規ユーザを作成する

Linux側で行います。

sudo useradd -s /bin/bash -m username
sudo passwd userpass

sudoを許可する場合は

sudo usermod -aG sudo username

2. 公開鍵を生成する

接続したいクライアントが行います。

ed25519方式で鍵を作成する場合はこちら

ssh-keygen -t ed25519

rsa方式で鍵を作成する場合はこちら

ssh-keygen -t rsa -b 4096
ssh-keygen -f [ファイルパス]

sshログインについて

基本形

注意
.sshフォルダに鍵がある場合はそれを使用してログインします。
無い場合はパスワード認証になります。

ssh -p [ポート番号] [ユーザ名@IPアドレス]

公開鍵暗号方式を使う場合

ssh -p [ポート番号] -i [秘密鍵パス] [ユーザ名@IPアドレス]

3. SCPで公開鍵を送信する

接続したいクライアントが行います。

基本形(パスワード認証)

scp [送信したいファイルパス] [保存先パス(ユーザ名@IPアドレス:ディレクトリ)]

鍵認証の場合
-i オプションを使う

scp -i [鍵パス] ...

ポート番号を指定して送信する
-P オプションを使います

scp -P [ポート番号] ...

4. SSHフォルダに鍵を置く

Linux側で行います。
送った公開鍵をauthorized_keysにする

mv [鍵パス] .ssh/authorized_keys

パーミッション変更

chmod 700 .ssh
chmod 600 .ssh/authorized_keys

5. SSH configを設定する

Linux側で行います。
rootになって

su root

sshdのバックアップをしておく

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bk

バックアップしたらviとかでconfigを変更

許可するアルゴリズムを選択

rsaの場合

PubkeyAcceptedAlgorithms=+ssh-rsa

ed25519の場合

PubkeyAcceptedAlgorithms=+ssh-ed25519

パスワード認証を無効化

- #PasswordAuthentication yes
+  PasswordAuthentication no

viを保存して閉じる

所有者を変更する

うまくいかない人は鍵の所有者が正しく設定されていない場合があります。
たとえば、rootユーザになっているなど

.sshやauthorized_keysの所有権はユーザにないと読み込めずに失敗してしまうので権限を変更します。

chown [ユーザ名]:[ユーザ名] .ssh/authorized_keys

sshdのリスタート

systemctl reload sshd

参考記事

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?