目次
- はじめに
- 今回の導入環境
- 今回作る構成
- 1. Ubuntuの状態を確認する
- 2. Ubuntuを最新状態へ更新する
- 3. OpenSSH Serverをインストールする
- 4. OpenSSHの待受状態を確認する
- 5. Windowsから初回SSH接続する
- 6. Ed25519の公開鍵認証を設定する
- 7. Windowsのssh-agentを有効化する
- 8. SSH configで接続を短縮する
- 9. OpenSSHをセキュリティ強化する
- 10. UFWで家庭内LANからのSSHだけを許可する
- 11. 最終確認
- 今回躓いたポイント
- 切り分けの時系列
- 補足:Windows修復でSSH秘密鍵を失ったとき
- まとめ
- 参考資料
- 関連記事
はじめに
メインPCのDELLでフリーズやWSL切断などの不調が発生し、原因調査や修理中も開発を止めないため、以前使っていた古いLIFEBOOKをUbuntu開発機として再利用することにしました。
第1回では、LIFEBOOKへ Ubuntu 24.04.4 LTS Desktop をインストールしました。
今回の第2回では、メインPCのWindowsから家庭内LAN経由でLIFEBOOKを操作できるように、OpenSSH Serverを導入し、公開鍵認証・SSHのセキュリティ強化・UFW設定まで行います。
最終的には、Windows側から次のように接続できる状態を目指します。
WindowsメインPC
│
│ 家庭内LAN
│ SSH公開鍵認証
▼
LIFEBOOK
Ubuntu 24.04.4 LTS Desktop
├─ OpenSSH Server
├─ Git
├─ Docker Engine
└─ Laravel / Sail
今回のSSHは家庭内LAN専用です。ルーターでTCP/22をインターネットへポート開放する運用にはしません。
次回以降、WindowsのVS Codeから Remote - SSH でLIFEBOOKへ接続し、LIFEBOOK側のDocker上でLaravel等を動かす予定です。
そのため今回は、OpenSSHの導入だけで終わらせず、公開鍵認証とファイアウォールまで設定します。
今回の導入環境
| 項目 | 内容 |
|---|---|
| PC | 富士通 LIFEBOOK AH52/C |
| 型名 | FMVA52CBJ |
| CPU | Intel Pentium P6200 2.13GHz |
| メモリ | 8GB |
| ストレージ | 256GB SSD |
| OS | Ubuntu 24.04.4 LTS Desktop |
| アーキテクチャ | x86_64 |
| Ubuntuユーザー | honta |
| 接続元 | Windows / PowerShell 7 |
| Windows側IPv4 | 192.168.11.2 |
| LIFEBOOK側IPv4 | 192.168.11.9/24 |
| 家庭内LAN | 192.168.11.0/24 |
| 接続方式 | 家庭内Wi-Fi / LAN |
| OpenSSH Server導入時バージョン | 1:9.6p1-3ubuntu13.18 |
192.168.11.9 は今回の環境でDHCPにより取得したIPv4アドレスです。
別環境ではアドレスやサブネットが異なります。この記事の値をそのままコピーせず、必ず自分の環境で ip コマンド等を使って確認してください。
今回作る構成
SSHの認証・ファイアウォールは最終的に次の構成にしました。
Windows
│
│ ssh lifebook
│ Ed25519公開鍵認証
▼
UFW
│
│ 192.168.11.0/24 → TCP/22 のみ許可
▼
OpenSSH Server
├─ PubkeyAuthentication yes
├─ PasswordAuthentication no
├─ KbdInteractiveAuthentication no
├─ PermitRootLogin no
└─ AllowTcpForwarding yes
AllowTcpForwarding yes は、後続のVS Code Remote - SSHでSSHトンネルを利用するため維持しています。
1. Ubuntuの状態を確認する
いきなりOpenSSH Serverをインストールせず、まずUbuntu実機の状態を確認しました。
lsb_release -a
uname -m
ip -4 -br address
dpkg -l openssh-server 2>/dev/null
sudo ufw status verbose
今回の主な結果は次のとおりでした。
Description: Ubuntu 24.04.4 LTS
Release: 24.04
Codename: noble
x86_64
ネットワークは、
lo UNKNOWN 127.0.0.1/8
wlp16s0 UP 192.168.11.9/24
openssh-server は未導入でした。
un openssh-server <なし> <なし>
UFWもこの時点では無効でした。
状態: 非アクティブ
2. Ubuntuを最新状態へ更新する
OpenSSH導入前にパッケージ情報を更新しました。
sudo apt update
apt list --upgradable
sudo apt autoremove --dry-run
この時点では88個のアップグレード候補がありました。
そのため、
sudo apt upgrade
を実行しました。
更新後、
apt list --upgradable
は空になりました。
また、再起動要求を確認すると、
test -f /var/run/reboot-required \
&& cat /var/run/reboot-required \
|| echo "再起動要求なし"
次の表示になりました。
*** システムの再起動が必要です ***
そこで一度再起動します。
sudo reboot
再起動後に、
uname -r
ip -4 -br address
apt list --upgradable
systemctl --failed --no-pager
sudo apt autoremove --dry-run
を確認しました。
今回の結果は、
7.0.0-30-generic
wlp16s0 UP 192.168.11.9/24
0 loaded units listed.
となり、更新残りやfailed serviceはありませんでした。
apt autoremove --dry-run では、更新後に libfwupd2 だけが削除候補になりました。
今回はOpenSSH構築を優先し、不要パッケージの実削除は行いませんでした。
3. OpenSSH Serverをインストールする
Ubuntu公式では、OpenSSH Serverのインストール方法として次のコマンドが案内されています。
To install the OpenSSH server application ... use this command
sudo apt install openssh-server
今回もこの方法でインストールしました。
sudo apt install openssh-server
追加で次のパッケージが導入されました。
ncurses-term
openssh-server
openssh-sftp-server
ssh-import-id
インストール後に確認します。
dpkg -l openssh-server | grep '^ii'
今回の結果です。
ii openssh-server 1:9.6p1-3ubuntu13.18 amd64
4. OpenSSHの待受状態を確認する
続けて、systemdとTCP/22の状態を確認しました。
systemctl is-active ssh.socket
systemctl is-active ssh.service
sudo ss -ltnp | grep ':22'
最初の結果は、
ssh.socket → active
ssh.service → inactive
でした。
しかしTCP/22は、
LISTEN ... 0.0.0.0:22 ... users:(("systemd",pid=1,...))
LISTEN ... [::]:22 ... users:(("systemd",pid=1,...))
と待ち受けています。
Ubuntu 24.04ではsocket activationが使われる
Ubuntu 24.04 LTSの公式リリースノートには、openssh-server がsystemd socket activationを使用することが記載されています。
openssh-serveris configured to use systemd socket activation by default.
そのため、今回のように、
ssh.socket → active
ssh.service → inactive
TCP/22 → systemdがLISTEN
という状態だけを見て「SSH Serverが起動していない」と判断しないよう注意が必要です。
この記事はUbuntu 24.04.4 LTSで確認した結果です。
OpenSSHとsystemdの構成はUbuntuのバージョンによって変わる可能性があるため、別バージョンでは公式リリースノートや実機の状態を確認してください。
5. Windowsから初回SSH接続する
5.1 TCP/22への疎通確認
まずWindows PowerShellからTCP/22へ到達できるか確認しました。
Test-NetConnection 192.168.11.9 -Port 22
結果は、
ComputerName : 192.168.11.9
RemoteAddress : 192.168.11.9
RemotePort : 22
InterfaceAlias : Wi-Fi
SourceAddress : 192.168.11.2
TcpTestSucceeded : True
となりました。
5.2 サーバーのホスト鍵を確認する
初回接続では、接続先が本当に意図したLIFEBOOKか確認するため、Ubuntu側でEd25519ホスト鍵のフィンガープリントを確認しました。
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256
その後、Windowsから接続します。
ssh honta@192.168.11.9
初回は次のような確認が表示されます。
The authenticity of host '192.168.11.9 (...)' can't be established.
ED25519 key fingerprint is SHA256:...
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Ubuntu実機で確認したSHA-256フィンガープリントと完全一致することを確認してから、
yes
を入力しました。
続いてUbuntuユーザーのパスワードを入力し、
honta@lifebook-ubuntu:~$
まで入れれば初回SSH接続成功です。
ホスト鍵のフィンガープリントを確認せず、機械的に yes を入力するのは避けた方が安全です。
特に初回接続では、意図した接続先であることを確認する材料になります。
6. Ed25519の公開鍵認証を設定する
パスワード認証のまま運用せず、Windows側にLIFEBOOK専用のSSH鍵を作成しました。
6.1 既存鍵の有無を確認する
Get-ChildItem $HOME\.ssh -Force -ErrorAction SilentlyContinue |
Select-Object Name, Length, LastWriteTime
この時点ではユーザー認証用の秘密鍵はありませんでした。
6.2 LIFEBOOK専用Ed25519鍵を作成する
ssh-keygen -t ed25519 `
-f "$HOME\.ssh\id_ed25519_lifebook" `
-C "lifebook-ubuntu"
秘密鍵にはパスフレーズを設定しました。
生成されたファイルは、
C:\Users\honta\.ssh\id_ed25519_lifebook
C:\Users\honta\.ssh\id_ed25519_lifebook.pub
です。
秘密鍵 id_ed25519_lifebook は接続元Windowsで管理します。
サーバーへコピーするのは .pub の公開鍵だけです。秘密鍵をサーバーやGitリポジトリへコピーしないよう注意します。
6.3 公開鍵を一時領域へ転送する
まだパスワード認証を無効化していない段階で、公開鍵だけLIFEBOOKへ転送しました。
scp "$HOME\.ssh\id_ed25519_lifebook.pub" `
honta@192.168.11.9:/tmp/id_ed25519_lifebook.pub
6.4 authorized_keys へ登録する
umask 077
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
grep -qxF "$(cat /tmp/id_ed25519_lifebook.pub)" ~/.ssh/authorized_keys \
|| cat /tmp/id_ed25519_lifebook.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
確認します。
ls -ld ~/.ssh
ls -l ~/.ssh/authorized_keys
wc -l ~/.ssh/authorized_keys
今回の結果は、
drwx------ ... /home/honta/.ssh
-rw------- ... /home/honta/.ssh/authorized_keys
1 /home/honta/.ssh/authorized_keys
となりました。
登録と確認が終わったら、一時的に転送した公開鍵ファイルを削除します。
rm -f /tmp/id_ed25519_lifebook.pub
6.5 公開鍵認証をテストする
ssh -i "$HOME\.ssh\id_ed25519_lifebook" honta@192.168.11.9
秘密鍵のパスフレーズを入力して、
honta@lifebook-ubuntu:~$
まで入れれば公開鍵認証成功です。
公開鍵認証で実際に新しいSSHセッションを開けることを確認するまで、パスワード認証を無効化しません。
鍵の登録ミスなどで自分自身をサーバーから締め出すことを避けるためです。
7. Windowsのssh-agentを有効化する
秘密鍵にパスフレーズを設定したため、Windowsの ssh-agent に鍵を登録しました。
7.1 現在状態を確認する
管理者PowerShellで、
Get-Service ssh-agent |
Select-Object Name, Status, StartType
今回の初期状態は、
ssh-agent Stopped Disabled
でした。
7.2 自動起動を有効化する
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
Get-Service ssh-agent |
Select-Object Name, Status, StartType
結果は、
ssh-agent Running Automatic
となりました。
7.3 秘密鍵を登録する
通常のPowerShellで、
ssh-add "$HOME\.ssh\id_ed25519_lifebook"
ssh-add -l
を実行します。
この状態でもう一度SSH接続すると、秘密鍵のパスフレーズを再入力せず接続できました。
8. SSH configで接続を短縮する
Windows側のSSH configを作成します。
C:\Users\honta\.ssh\config
内容は次のようにしました。
Host lifebook
HostName 192.168.11.9
User honta
IdentityFile ~/.ssh/id_ed25519_lifebook
IdentitiesOnly yes
OpenSSHが想定どおり解釈しているか確認します。
ssh -G lifebook |
Select-String '^(hostname|user|port|identityfile|identitiesonly) '
今回の結果は、
user honta
hostname 192.168.11.9
port 22
identitiesonly yes
identityfile ~/.ssh/id_ed25519_lifebook
でした。
以後は、
ssh lifebook
だけで接続できます。
この Host lifebook は、次回扱うVS Code Remote - SSHの接続先としてもそのまま利用できます。
9. OpenSSHをセキュリティ強化する
公開鍵認証が成功したので、ここからパスワード認証とroot直接ログインを禁止します。
9.1 まず実効設定を確認する
sudo sshd -T | grep -E \
'^(pubkeyauthentication|passwordauthentication|kbdinteractiveauthentication|permitrootlogin|allowtcpforwarding) '
今回、変更前は次の状態でした。
permitrootlogin without-password
pubkeyauthentication yes
passwordauthentication yes
kbdinteractiveauthentication no
allowtcpforwarding yes
9.2 sshd_config.d にローカル設定を分離する
Ubuntu公式では、/etc/ssh/sshd_config を直接変更する方法に加え、/etc/ssh/sshd_config.d/ のsnippetを使う方法が案内されています。
また、Ubuntu公式は多くのディレクティブで最初に設定された値が使われると説明しています。
今回は、
/etc/ssh/sshd_config.d/00-local-hardening.conf
を作成しました。
変更前にバックアップします。
sudo cp -a /etc/ssh/sshd_config \
"/etc/ssh/sshd_config.backup-$(date +%Y%m%d-%H%M%S)"
snippetを作成します。
sudo tee /etc/ssh/sshd_config.d/00-local-hardening.conf >/dev/null <<'EOF'
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
EOF
9.3 構文と実効値を確認する
sudo sshd -t
今回、何も表示されず終了したため構文エラーはありませんでした。
続いて、
sudo sshd -T | grep -E \
'^(pubkeyauthentication|passwordauthentication|kbdinteractiveauthentication|permitrootlogin|allowtcpforwarding) '
結果です。
permitrootlogin no
pubkeyauthentication yes
passwordauthentication no
kbdinteractiveauthentication no
allowtcpforwarding yes
Ubuntu公式も、SSH設定ミスによってサーバーへ到達できなくなる可能性を警告しています。
現在開いているSSHセッションを残したまま設定を反映し、別のPowerShellから新規接続できることを確認してから、古いセッションを閉じます。
また、反映前に sudo sshd -t で構文を検査します。
9.4 設定を反映する
sudo systemctl restart ssh.service
状態を確認します。
systemctl is-active ssh.socket
systemctl is-active ssh.service
sudo ss -ltnp | grep ':22'
今回、
ssh.socket → active
ssh.service → active
となり、TCP/22もLISTENしていました。
9.5 公開鍵認証が引き続き使えるか確認する
Windowsの別PowerShellから、
ssh lifebook
を実行し、公開鍵認証で正常に入れることを確認しました。
9.6 パスワード認証が本当に拒否されるか確認する
ssh -o PubkeyAuthentication=no `
-o PreferredAuthentications=password `
-o PasswordAuthentication=yes `
lifebook
結果は、
honta@192.168.11.9: Permission denied (publickey).
でした。
これで、実際にパスワード認証が無効になっていることまで確認できました。
10. UFWで家庭内LANからのSSHだけを許可する
10.1 ネットワークとUFWの状態を確認する
ip -4 -br address
ip route
sudo ufw status verbose
今回のネットワークは、
wlp16s0 UP 192.168.11.9/24
default via 192.168.11.1 ...
192.168.11.0/24 dev wlp16s0 ...
でした。
デフォルトポリシーも確認しました。
grep -E \
'^(DEFAULT_INPUT_POLICY|DEFAULT_OUTPUT_POLICY|DEFAULT_FORWARD_POLICY)=' \
/etc/default/ufw
今回の結果です。
DEFAULT_INPUT_POLICY="DROP"
DEFAULT_OUTPUT_POLICY="ACCEPT"
DEFAULT_FORWARD_POLICY="DROP"
10.2 dry-runでSSH許可ルールを確認する
今回は家庭内LAN 192.168.11.0/24 からSSHを許可します。
sudo ufw --dry-run allow proto tcp \
from 192.168.11.0/24 \
to any port 22
生成された主要ルールは、
-A ufw-user-input -p tcp --dport 22 -s 192.168.11.0/24 -j ACCEPT
でした。
192.168.11.0/24 は今回の家庭内LANです。
別のネットワークでは必ず自分のサブネットを確認してください。
10.3 SSH許可ルールを先に登録する
sudo ufw enable を先に実行しません。
SSH接続中にファイアウォールを有効化する場合、先に現在の家庭内LANからTCP/22を許可してからUFWを有効化します。
現在のSSHセッションも、別セッションから再接続確認が終わるまで閉じません。
sudo ufw allow proto tcp \
from 192.168.11.0/24 \
to any port 22
確認します。
sudo ufw show added
結果です。
ufw allow from 192.168.11.0/24 to any port 22 proto tcp
10.4 UFWを有効化する
sudo ufw enable
今回の表示は、
ファイアウォールはアクティブかつシステムの起動時に有効化されます。
でした。
sudo ufw status verbose
sudo ufw status numbered
今回の最終状態です。
状態: アクティブ
ロギング: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
To Action From
-- ------ ----
22/tcp ALLOW IN 192.168.11.0/24
11. 最終確認
UFW有効化後、Windowsからもう一度確認します。
Test-NetConnection 192.168.11.9 -Port 22
結果は、
TcpTestSucceeded : True
でした。
続いて、
ssh lifebook
を実行し、
honta@lifebook-ubuntu:~$
まで正常に接続できました。
今回躓いたポイント
LIFEBOOKが自動サスペンドしてSSHがタイムアウトした
後続のRemote - SSH確認中、
ssh: connect to host 192.168.11.9 port 22: Connection timed out
となりました。
最初はOpenSSHやVS Code側を疑いましたが、実際の原因はLIFEBOOK本体が自動サスペンドしていたことでした。
Connection timed out だけではOpenSSHの設定ミスとは断定できません。
まず、
- PC本体が起動しているか
- サスペンドしていないか
- Wi-Fi / LANが接続されているか
- TCP/22へ到達できるか
-
ssh.socket/ssh.serviceの状態
を切り分けるのが有効でした。
内蔵Wi-Fiが不安定だった
このLIFEBOOKはUbuntu化する前のWindows 10時代から、最近Wi-Fiが不安定でした。
そのため、UbuntuでSSHが一時的に不安定になったからといって、Ubuntu固有の問題とは判断していません。
開発サーバーとして長時間利用する場合は、可能なら有線LANを優先した方が安定しそうだと判断しました。
Windows修復で .ssh が消えた
OpenSSH構築後、メインPCのWindowsを修復したところ、
C:\Users\honta\.ssh
の内容が消え、
ssh lifebook
が使えなくなりました。
LIFEBOOK側ではすでに、
PasswordAuthentication no
としていたため、Windows側の秘密鍵がない状態ではSSHログインできません。
ただしLIFEBOOK本体には直接ログインできたため、新しい鍵ペアを作成し、公開鍵を差し替えて復旧しました。
秘密鍵を失った場合、対応する秘密鍵を authorized_keys から逆算して復元することはできません。
サーバー本体へ直接ログインできるなど別の管理経路がある場合は、新しい鍵ペアを作成して公開鍵を差し替えます。
切り分けの時系列
Ubuntu 24.04.4 LTSの状態確認
↓
apt update / upgrade
↓
再起動
↓
OpenSSH Serverインストール
↓
ssh.socket / TCP/22を確認
↓
WindowsからTest-NetConnection
↓
ホスト鍵フィンガープリントを照合
↓
パスワード認証で初回SSH接続
↓
WindowsでEd25519鍵を作成
↓
公開鍵をauthorized_keysへ登録
↓
別セッションで公開鍵認証を確認
↓
Windows ssh-agentを有効化
↓
SSH configへHost lifebookを登録
↓
ssh lifebookで接続成功
↓
sshdの実効設定を確認
↓
sshd_config.dへhardening設定
↓
sshd -tで構文検査
↓
別セッションで公開鍵認証を再確認
↓
パスワード認証が拒否されることを確認
↓
UFWルールをdry-run
↓
家庭内LAN → TCP/22許可を先に登録
↓
UFW有効化
↓
WindowsからTCP/22とSSHを再確認
↓
OpenSSH構築完了
補足:Windows修復でSSH秘密鍵を失ったとき
今回、後日Windows修復によって .ssh ディレクトリが消えたため、鍵を再発行しました。
今回はLIFEBOOK本体へ直接ログインでき、UFWでも家庭内LAN 192.168.11.0/24 からのSSHだけを許可していたため、一時的にパスワード認証を有効化して復旧しました。
インターネットへ公開されたSSHサーバーで、安易にパスワード認証を有効化する手順として一般化しないでください。
新しい鍵を作る
New-Item -ItemType Directory -Path "$HOME\.ssh" -Force
ssh-keygen -t ed25519 `
-f "$HOME\.ssh\id_ed25519_lifebook" `
-C "lifebook-ubuntu"
復旧後のhardeningを再確認する
復旧作業中だけパスワード認証を一時的に有効化しましたが、新しい鍵で接続できたことを確認した直後に無効へ戻しました。
sudo sshd -T | grep -E \
'^(pubkeyauthentication|passwordauthentication|kbdinteractiveauthentication|permitrootlogin) '
最終状態:
permitrootlogin no
pubkeyauthentication yes
passwordauthentication no
kbdinteractiveauthentication no
Windows側でも ssh-agent とSSH configを再構築し、
ssh lifebook
で再び接続できるところまで確認しました。
まとめ
今回は、Ubuntu 24.04.4 LTSをインストールした古いLIFEBOOKへOpenSSH Serverを導入し、Windowsから家庭内LAN経由でSSH接続できるようにしました。
単にOpenSSH Serverを入れるだけでなく、
- Ubuntu 24.04のsystemd socket activationを確認
- WindowsからTCP/22の疎通確認
- サーバーホスト鍵のフィンガープリント照合
- Ed25519公開鍵認証
- Windows
ssh-agent - SSH configによる
ssh lifebook PasswordAuthentication noKbdInteractiveAuthentication noPermitRootLogin no- UFWで家庭内LAN
192.168.11.0/24からTCP/22だけ許可 - UFW有効化後の再接続確認
まで行いました。
特に重要だったのは、公開鍵認証が実際に成功することを確認してからパスワード認証を無効化したことです。
SSH設定はセキュリティを強くするほど、設定ミスによって自分自身を締め出すリスクもあります。
そのため今回は、
現在状態を確認
↓
設定変更
↓
sshd -t
↓
既存SSHセッションを残す
↓
別セッションで接続確認
↓
成功してから次へ進む
という順番を徹底しました。
次回は VS Code Remote - SSH接続編として、WindowsのVS CodeからこのLIFEBOOKへ接続し、実機Ubuntuを開発環境として操作できるようにしていきます。
参考資料
Ubuntu公式:OpenSSH server
確認内容:
-
openssh-serverのインストール方法 -
/etc/ssh/sshd_config.d/によるsnippet設定 - 多くのディレクティブで最初に設定された値が使用されること
-
sudo sshd -tによる設定検査 -
sudo systemctl restart ssh.serviceによる設定反映 - SSH設定ミスによる締め出しへの注意
Ubuntu公式:Ubuntu 24.04 LTS release notes
確認内容:
- Ubuntu 24.04 LTSのOpenSSH
- systemd socket activation
-
sshd_config/sshd_config.dとssh.socketの関係
Ubuntu公式:Firewall
確認内容:
- UFWの有効化
ufw --dry-run- TCP/22の許可
- 特定ホスト・サブネットからSSHを許可する方法
ufw status verboseufw status numbered
Ubuntu公式:sshd_config(5) - Noble
確認内容:
-
sshd_configの各ディレクティブ sshd_config.d/*.conf- 設定値の評価順
Visual Studio Code公式:Remote Development using SSH
確認内容:
- Remote - SSHの前提としてSSH Serverが必要であること
- 公開鍵認証が推奨されていること
- SSH configを利用した接続
- SSHトンネル / ポートフォワーディング
関連記事
このシリーズ
- 第1回:古いLIFEBOOKをUbuntu開発機にする【1. Ubuntu 24.04 LTSインストール編】
- 第2回:古いLIFEBOOKをUbuntu開発機にする【2. OpenSSH Server導入編】(この記事)
- 第3回:古いLIFEBOOKをUbuntu開発機にする【3. VS Code Remote - SSH接続編】
- 第4回:古いLIFEBOOKをUbuntu開発機にする【4. Docker Engine構築編】
- 第5回:古いLIFEBOOKをUbuntu開発機にする【5. Sambaファイルサーバ構築編】
- 第6回:古いLIFEBOOKをUbuntu開発機にする【6. VS Code導入・GPU対策編】
- 第7回:古いLIFEBOOKをUbuntu開発機にする【7. LibreOffice導入・動作検証編】
あわせて読みたい
-
WSL 2をバックアップして旧バージョンへ安全にin-place downgradeする手順
メインPC側のWSL不調を切り分け、Ubuntuを退避して安全にダウングレードした記録です。 -
WSL2上のUbuntuを安全にアップデートした記録【初心者向け】
UbuntuのAPT更新や不要パッケージ確認など、導入後のメンテナンスに関連する記事です。 -
Webバックエンド初心者向け Linuxコマンド基礎反復練習(Docker/Ubuntu)
UbuntuやDocker環境で使う基本的なLinuxコマンドを反復練習するための記事です。 -
Linux標準教科書 | LPI-Japan
Linuxの基本コマンド、ファイル管理、ユーザー・権限、ネットワークなどを体系的に学べる無償教材です。
私自身もポリテクセンターでLinux基礎を学んだ際に教科書として使用しました。 -
Linuxサーバー構築標準教科書 | LPI-Japan
Linuxサーバーの基礎から、Webサーバー、DNS、メール、ネットワーク・セキュリティまで実習形式で学べる無償教材です。
今回のようなUbuntuサーバー構築を、もう少し体系的に学びたい方に向いています。