ubuntu: インストールと設定 (ubuntu server)

VirualBox への設定

  • ubuntu server 24
  • 自分のローカル開発環境用の設定のため、セキュリティ関連の設定がゆるゆるなのでご注意ください

■ VirtualBox で 新規VM作成

  • 新規
    • 名前とオペレーティングシステム
      • 名前:適当につける
      • フォルダ:C:\VirtualBoxVMs あたりに入れる
      • ISO イメージ:DLしてきたものを選択する (例:ubuntu-24.04.2-live-server-amd64.iso)
      • 以降は、ISO を選択すると設定される
        • タイプ:Linux
        • Subtype:Ubuntu
        • バージョン:Ubuntu (64-bit)
    • 自動インストール
      • ユーザ名:ubuntu (元のままでも可)
      • パスワード:自分で入力した方が良い
      • ホスト名:省略可。省略したら上で設定した「名前」になる。 (後で設定も可能)
    • ハードウェア
      • メインメモリ:適当に設定 (8192 MBくらい割り当てたいが4096MBくらいでも可)
      • プロセッサー数:最低4個くらいは割り当てたいが、ホストマシン次第
    • ハードディスク
      • 100GB くらい割り当てておくと良い
      • 「全サイズの事前割り当て」のチェックを入れなければ、使ったサイズしか消費されない

■ 初期設定

  • ubuntu でログイン
    • 自動インストールでユーザを変更していなければ vboxuser パスワード changeme
  • 一度シャットダウン
    • sudo -i で root になり、shutdown -h now
    • または、ウィンドウから「ACPIシャットダウン」を実行

ネットワークの変更

  • 作成したVMを選択して「設定」を押す

    • ネットワークで、割り当てを「ブリッジアダプター」に変更する (基本はこれだけで良い)
    • 外部に接続しない場合や仮想的な内部ネットワークを組みたい場合は、「内部ネットワーク」や「ホストオンリーアダプター」を駆使する
      • proxy 的なサーバに「NAT」+「内部ネットワーク」+「ホストオンリーアダプター」の3つを設定
      • 内部サーバに「内部ネットワーク」+「ホストオンリーアダプター」の2つを設定
      • 「ホストオンリーアダプター」でWindowsから接続し、「内部ネットワーク」で閉じたネットワークを再現
  • OK を押したら起動

  • ubuntu でログイン

  • IPアドレス を確認 : ip a

    • lo ではない方を確認する
    • おそらく enp0s3
    • inet のところを確認
  • ssh (sshd) のインストール ※ ubuntu では sshd は ssh のパッケージになっている

apt update
apt install -y ssh
systemctl eneble --now ssh

起動を確認したければ、次のコマンドを実行

systemctl status ssh

teraterm で接続

  • どこかに Teratermマクロのファイル (.ttl )を作成
    connect '192.168.1.10 /ssh2 /auth=password /user=ubuntu /passwd=testpassword'
    
    • 192.168.1.10 のところが上で確認した IP アドレス
    • testpassword のところは、自分で設定したパスワード
  • .ttl ファイルを C:\Program Files (x86)\teraterm\ttpmacro.exe から実行
    • 設定が間違えていなければログインできるはず

設定すること

  • sudo 時のパスワード入力を省略

    • visudo または、/etc/sudoers を直接編集
      # Allow members of group sudo to execute any command
      %sudo   ALL=(ALL:ALL) ALL
      
      次のように編集
      # Allow members of group sudo to execute any command
      %sudo   ALL=(ALL:ALL) NOPASSWD: ALL
      
  • ユーザ単位なら

    <username> ALL=NOPASSWD: ALL
    
  • root でログインできるようにする

    • passwd root で root にパスワードを設定
    • /etc/ssh/sshd_config を編集
      PermitRootLogin yes
      
    • systemctl restart ssh
    • .ttl ファイルの /user=ubuntu 部分を /user=root に変えてログインを試す
      • うまくいかない場合、ip a、/etc/ssh/sshd_config、systemctl の再実行などをする
      • ubuntu ユーザで su - でパスワードがあっているかも確認
  • 固定 IP に変更

    • /etc/netplan/50-cloud-init.yaml を編集

      network:
        version: 2
        renderer: networkd
        ethernets:
          enp0s3:  # ← あなたのインターフェース名に変更
            dhcp4: no
            addresses:
              - 192.168.1.100/24  # 固定IP
            routes:
              - to: 0.0.0.0/0
                via: 192.168.1.1  # デフォルトゲートウェイ
            nameservers:
              addresses:
                - 8.8.8.8
                - 8.8.4.4
      
    • 設定を反映

      netplan apply
      
    • teratem は切れるので、コンソールで設定を確認

      ip a
      ip route
      
    • .ttl の IPアドレス を変更して、teraterm で再接続