UbuntuにSSHで公開鍵認証できるようにする
公開: 2023/07/02
動作環境
- Ubuntu 20.04.6 LTS
sshdの有効化
デフォルトでsshd
がいんすトールされていなかったためインストールする
sudo apt update
sudo apt -y install openssh-server
起動確認
systemctl status ssh
ローカルPCでやること
ローカルPCから公開鍵をUbuntuに送る
scpコマンドを使って鍵を送る
scp [鍵ファイル] [ユーザ]@[Ubuntu ipアドレス or ホスト名]:[Ubuntuディレクトリ]
scp ~/.ssh/id_rsa.pub takumi@192.168.11.100:~/.ssh
Ubuntuでやること
転送された公開鍵ファイルのファイル名変更
先ほどのscpコマンドでローカルPCの公開鍵は~/.sshディレクトリにid_rsa.pubというファイル名で格納されている。公開鍵のファイル名をauthorized_keyに変更する。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 元のid_rsa.pubは削除する
rm ~/.ssh/id_rsa.pub
ファイルの権限編集
管理者のみが閲覧、書き込みができるようにauthorized_keyファイルの権限を編集する
chmod 600 ~/.ssh/authorized_keys
# 権限確認
ls -l ~/.ssh
-rw------- 1 takumi takumi 500 1
sshdの設定
/etc/ssh/sshd_config
でsshの設定をする
- パスワード認証の禁止
- ルートログインの禁止
- 公開鍵認証の許可
以下のように編集
# ルートログインの禁止
PermitRootLogin no
# 公開鍵認証の許可
PubkeyAuthentication yes
# パスワード認証の禁止
PasswordAuthentication no
sshdの再起動
sudo systemctl restart ssh
ssh configを設定する
ipアドレスやユーザの指定をする必要がなくなるためssh configを設定しておく。
~/.ssh/config
を編集
Host home-server
HostName 192.168.11.100
Identityfile ~/.ssh/id_rsa
User takumi
sshでhome-serverを指定するだけで接続できるようになった
ssh home-server
Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-76-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Expanded Security Maintenance for Applications is not enabled.
45のアップデートはすぐに適用されます。
これらの追加アップデートを確認するには次を実行してください: apt list --upgradable
7 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm
New release '22.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Your Hardware Enablement Stack (HWE) is supported until April 2025.
Last login: Sun Jul 2 11:56:27 2023 from 192.168.11.5
takumi@takumi-ThinkPad-L460:~$ exit