🚀 Ubuntuインストール直後からRemote-SSHで鍵認証ログインできるようにするまで
UbuntuをインストールしたばかりのミニPCに、WindowsのVSCodeからRemote-SSHで安全に接続できるようになるまでの手順をまとめました。
パスワード認証ではなく鍵認証を使うことで、セキュリティと利便性が一気に向上します。
1. Ubuntu 側の初期設定
まずはUbuntuにSSHサーバーを入れて、LAN内から接続できるようにします。
bash
# パッケージ更新
sudo apt update && sudo apt upgrade -y
# SSHサーバー導入
sudo apt install -y openssh-server
# サービス起動&自動起動
sudo systemctl enable --now ssh
# ファイアウォール(UFW)を有効化してSSH許可
sudo ufw allow OpenSSH
sudo ufw enable
# 状態確認
systemctl status ssh # SSHサーバーの稼働確認
sudo ufw status # ファイアウォールの状態確認
ip addr show # LAN内IPを確認(例:192.168.0.226)
2. Windows 側でSSH鍵を作成
PowerShellを開いて実行します。
PowerShell
ssh-keygen -t ed25519 -C "miniPC"
- 保存場所はデフォルト(EnterでOK)
- 秘密鍵 →
C:\Users\<Windowsユーザー>\.ssh\id_ed25519 - 公開鍵 →
C:\Users\<Windowsユーザー>\.ssh\id_ed25519.pub - パスフレーズは任意(セキュリティ重視なら設定推奨)
3. 公開鍵をUbuntuへ登録
PowerShellで以下を実行:
PowerShell
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh youruser@192.168.0.xxx `
'mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys'
-
youruser→ Ubuntuのログインユーザー -
192.168.0.xxx→ ミニPCのLAN内IP
Ubuntu側で確認:
bash
ls -l ~/.ssh # ディレクトリ権限(700が理想)
ls -l ~/.ssh/authorized_keys # ファイル権限(600が理想)
cat ~/.ssh/authorized_keys # 公開鍵が登録されているか確認
4. SSHで鍵認証できるか確認
PowerShellで:
PowerShell
ssh youruser@192.168.0.xxx
👉 パスワードを聞かれずに入れたら成功 🎉
5. パスワードログインを無効化(推奨)
Ubuntu側で設定ファイルを編集します。
bash
sudo nano /etc/ssh/sshd_config
以下を追加または修正:
text
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
保存して反映:
bash
sudo sshd -t # 構文チェック(エラーがなければOK)
sudo systemctl reload ssh
6. VSCode Remote-SSH で接続
- VSCodeに拡張機能 Remote - SSH をインストール
-
C:\Users\<Windowsユーザー>\.ssh\configに設定追加:
sshconfig
Host mini-lan
HostName 192.168.0.xxx
User youruser
IdentityFile C:\Users\<Windowsユーザー>\.ssh\id_ed25519
- コマンドパレットから Remote-SSH: Connect to Host... → mini-lan を選択
- 左下に「SSH: mini-lan」と表示されれば接続完了 ✅
-
Terminal → New TerminalでUbuntuのターミナルを直接操作可能
7. セキュリティチェック
最後に状態を確認します。
bash
# 現在の認証方式(pubkey yes / password no が理想)
sudo sshd -T | grep authentication
# ファイアウォールの状態
sudo ufw status
🎉 まとめ
- Ubuntuインストール直後にやるべきこと → openssh-server + ufw
- Windowsで
ssh-keygenして公開鍵をUbuntuにコピー -
sshd_configでパスワードログインを無効化 → 鍵認証オンリーに - VSCode Remote-SSHでパスワード不要で安全に接続可能
- 状態確認コマンドで、サービス・ファイアウォール・認証方式をチェック
これで「LAN内の安全なリモート開発環境」が完成しました 🎊
次回はTailscaleを用いて独自ドメインでインターネットから安全に接続を試します。