やること
- ubuntu22.04インストール
- user設定
- IPの固定
- ssh接続設定
ubuntu22.04インストール
種類
- desktop image
- GUIが入ったもの。ウェブブラウジングなどするときはこちら
- live server image
- サーバー構築用。GUIがないため軽量
USBに別のPCからubuntuをインストールして、起動したいPCにUSBを取り付けてセットアップする方法もあります。
注記
今回は基本的にCLIで設定していきます。
commandを実行してもhoge_hoge not found
などでた場合は焦らず、apt-get update && apt-get install hoge_hoge
と足りないcommandやpackageをubuntuにinstallします。
user設定
初めに設定したuserのまま使用したい場合はこの項目を飛ばしてください。
権限を分けたり、共有用userを作りたいときに使用します。
user追加/削除
追加: adduser command
sudo adduser {追加したいuser名}
passwordも聞かれるので任意に設定する
削除: deluser command
sudo deluser {削除したいuser名}
ubuntuでは user を作成すると home directory が作成されるため home direcotry も一緒に削除したい場合は --remove-home
オプションを追加
権限付与: usermod command
sudo usermod -aG sudo {権限つけたいuser名}
- -aG sudo について
userはgroupに属しているため現在のgroupを保持したいためa
を追加。userをどのgroupに属したいか指定するG
オプション。上記のcommandは指定したuserにsudo権限(group)を付与している
IPの固定
ubuntu22.04では netplan を使用してip設定を行っている。記述方法はYAMLです。
設定fileは /etc/netplan
配下に置かれています。
ここに01-network-manager-all.yaml
などがあると思われます。
仕様
netplanは/etc/netplan/配下に複数fileがある場合、file名にある数値の少ないものから大きいものの順に読み込みます。
ex:
- 01-network ....yaml
- 10-network ....yaml
- 99-network ....yaml (これが最終的に反映される)
固定設定
ip addressとinterfaceを調べる
ip addr show
commandで確認します。nmcli
でも可能
lo
: ループバックインターフェース
en...
: 有線イーサネットインターフェース
wl...
: 無線LANインターフェース
ex:
1: lo: <LOOPBACK,UP,LOWER_UP> ...
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.X.X.X/X scope host lo
valid_lft forever preferred_lft forever
inet6 ::X/XX scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> ....
link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
inet 192.X.X.X/XX brd 192.X.X.X/XX scope global noprefixroute enp0s3
valid_lft forever preferred_lft forever
inet6 192.X.X.X/X scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlp0s: <NO-CARRIER,BROADCAST,MULTICAST,UP> ...
link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
今回は有線接続の場合を想定します。
今回の場合は enp0s3 です。(ここは自身の機器によって変わります)
デフォルトゲートウェイアドレスを調べる
ip route
commandで確認する
ex:
default via 192.X.X.X dev enp0s3 proto static
default via 192.X.X.X dev enp0s3 proto static metric 100
viaの後の 192.X.X.X になります。
設定YAMLの作成
- /etc/netplan にfileを作成
touch 99-{任意の名前}.yaml
- 作成fileの編集
vi, vim, nanoなどを使用する。
network:
version: 2
renderer: networkd
ethernets: <- 有線接続
enp0s3: <- 前項で調べた値
addresses: [192.YY.YY.YY/YY] <- 設定したいIPアドレス
nameservers: <- DNSの設定
addresses: [8.8.8.8]
routes:
- to: default
via: 192.X.X.X <- ゲートウェイアドレス
wifis: <- 無線(設定したい人)
- fileの保存
設定の反映
- 設定できるか確認し反映する
sudo netplan try
- 反映する
sudo netplan apply
上記どちらかを行う
固定できたか確認
ip addr show
で調べて先ほど設定したenp0s3のipが設定したものと同じになっているか確認する
ssh接続設定
openssh-serverが起動しているもしくはそもそもあるのか確認
sudo systemctl status ssh
ssh.service could not be found.とでたら
sudo apt-get update && apt-get install openssh-server -y
Active: active (running)...になっていることを確認
鍵作成
ubuntuをインストールしたPC(リモート)ではない他のPC(クライアント)で行う。
ssh-keygen
commandで作成する。
オプション
- t: 暗号化形式を指定する
rsa(default), ecdsa, ed25519 から設定 - f: 任意のfile名を指定する(保存先)
上記オプションは無しでもcommand実行は可能
ex:
ssh-keygen -t ed25519 -f id_ed25519_hoge
実行後にpassphraseを聞かれるので設定したい場合は設定する。無しでも可能。
完了すると秘密鍵と公開鍵が~/.ssh/
配下に作成される。
file名を指定した場合上記の例だと下記のようになる。
-
id_ed25519_hoge
: 秘密鍵 -
id_ed25519_hoge.pub
: 公開鍵
公開鍵をubuntuをインストールしたPCに送る
ssh-copy-id
commandを使用する。
ssh-copy-id -i ~/.ssh/id_ed25519_hoge.pub {ubuntuPCで設定したuser名}@{ubuntuPCで設定した固定ip}
-i オプションで先ほど作成した公開鍵を指定
接続確認
ssh
command でアクセス
ssh -i id_ed25519_hoge {ubuntuPcで設定したuser名}@{ubuntuPCで設定した固定ip}
-i オプションに先ほど作成した秘密鍵を指定