SSH からインストール
目次
最初に
この記事は、SSHによるリモート接続を経由し、Archをインストールする方法を、ユーザに示しています。通常、次のようなシナリオの場合、SSH を使うことを検討する価値があります。
Arch をセットアップする PC が...
- モニタ(画面)表示せずに操作する PC である場合。
- 別の場所、街、国(友達の家、親の家など)に位置する PC。
- リモートでセットアップするほうが好ましい PC。例えば、Arch Wiki のコピー/ペーストが想定される時など。
メディアからの起動
live CD/USB イメージから Live Arch 環境を起動する。
SSH による Live 環境のセットアップ
この段階で root としてログインしてください (LiveCD を動かす上のデフォルトユーザーです)。
まずは、ターゲットマシン (リモート接続して Arch のセットアップを行う PC) 上で、ネットワーク設定を行います。
有線では、dhclient
か dhcpcd
を動作させて接続できます。詳しくはネットワーク設定を参照。
無線では、アクセスポイントに接続するためにネットワーク設定/ワイヤレスや Wpa_supplicant の情報を見て下さい。
既知のインターフェースのリストが表示されます。使用するインターフェースのタイプを入力します。(有線イーサネットのインターフェースの eth0)
次に、openssh デーモンを動かします:
# systemctl start sshd
最後に、ssh 接続に必要な root パスワードを設定します。デフォルトの Arch の root パスワードは空です。
passwd
ターゲットマシンへの SSH 接続
次のコマンドを使って、ターゲットマシンに接続します。
$ ssh root@ターゲットのIPアドレス
Live 環境のウェルカムメッセージを受け取れましたか?ここからは、物理的に離れた位置からキーボードを操作して、ターゲットマシンを管理出来るようになります。
ssh root@10.1.10.105 root@10.1.10.105's password: Last login: Thu Dec 23 08:33:02 2010 from 10.1.10.200 [root@archiso ~]#
ノート
- ターゲットマシンがファイアウォール/ルータ越しにある場合は、デフォルトの SSH ポートである 22 を、ターゲットマシンのローカルエリア上の IP アドレスに転送する必要があります。ポートフォワーディングを使用する方法については、このガイドでは説明していません。
- Live 環境下で、標準ポート番号以外を使うようなデーモンを実行したい場合は、一旦、
/etc/ssh/sshd_config
を非標準ポートに設定してください。 /etc/ssh/sshd_config
を編集することでデーモンが起動するより早くライブ環境を設定することができます、例えば非標準ポートを起動したいときに。
次のステップ
ここからは自由にやりたいことをしてください。ライブメディアから Arch をインストールしたいのなら、インストールガイドのガイドを見て下さい。既存の壊れた Linux のインストールをやりなおすには、既存の Linux からインストール を参照してください。
- Arch をインストールする前に pacman -S gdisk でインストールした gdisk ユーティリティを使って HDD/SSD を手動でパーティションします。インストール作業中にブートローダーをインストールするオプションが提示されたときは、no と回答してスキップし、Live 環境の root プロンプトに戻ります。
- この段階での GRUB2 のインストールは取るにたらないことです。新しい Arch 環境に chroot して(インストール後はデフォルトでマウント済み) GRUB2 をインストール・セットアップします:
cd /mnt rm console ; mknod -m 600 console c 5 1 rm null ; mknod -m 666 null c 1 3 rm zero ; mknod -m 666 zero c 1 5 mount -t proc proc /mnt/proc mount -t sysfs sys /mnt/sys mount -o bind /dev /mnt/dev chroot /mnt /bin/bash
新しい Arch に chroot:
pacman -S grub2 grep -v rootfs /proc/mounts > /etc/mtab
必要に応じて /etc/default/grub
を編集します。
GRUB をインストールして grub.cfg を生成:
grub-install /dev/sdX --no-floppy grub-mkconfig -o /boot/grub/grub.cfg
再起動する準備ができたら、chroot を解除して再起動する前にパーティションをアンマウントします。
exit umount /mnt/boot # if mounted this or any other separate partitions umount /mnt/{proc,sys,dev} umount /mnt
ヘッドレスサーバーへのインストール
このセクションでは、キーボード、マウス、ディスプレイのないヘッドレスサーバーへの Arch Linux のインストールについて説明します。cloud-init NoCloud 構成の追加ドライブを使用して、OpenSSH 承認キーとオプションで iwd 接続を自動的に設定します。
Cloud-init 設定ファイルを準備する
必要な cloud-init 設定ファイルは 3 つあります: meta-data
、user-data
、および network-config
meta-data
ファイルは空でも構いません:
$ printf "" > meta-data
user-data
には関連する設定が含まれます。
user-data
#cloud-config users: - name: root ssh_authorized_keys: - ssh-ed25519 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - ssh-ed25519 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
ssh-ed25519 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
をパブリック SSH 鍵 に置き換えます。複数のキーを追加するには、上に示したステートメントを繰り返すだけです。
Wi-Fi ネットワークに自動的に接続するには、write_files:
ステートメントを使用して、iwd ネットワーク設定ファイル を正しいディレクトリに作成します。例えば:
user-data
#cloud-config users: - name: root ssh_authorized_keys: - ssh-ed25519 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - ssh-ed25519 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY write_files: - content: | [Security] PreSharedKey=aafb192ce2da24d8c7805c956136f45dd612103f086034c402ed266355297295 path: /var/lib/iwd/spaceship.psk runcmd: - systemctl restart iwd.service
cloud-init は、ISO で出荷されたものとは異なるネットワーク構成を作成します。つまり、mDNS レスポンダーと DHCPv6 クライアントが有効になっていません。これを回避するには、network-config
で Cloud-init のネットワーク設定を無効にします:
network-config
version: 2 config: disabled
3 つのファイルがすべて作成されたら、CIDATA
というラベルの付いた ISO 9660 または FAT ボリュームを持つドライブに配置する必要があります。
追加の FAT フォーマットされたドライブの使用
FAT でフォーマットされたドライブを使用してください。meta-data
、user-data
、および network-config
をドライブにコピーし、ファイルシステムの LABEL を {{ic|CIDATA} に変更します}。
公式 ISO を持つドライブに加えて、このドライブをヘッドレスマシンに接続する必要があります。
追加の ISO の使用
libisoburn の xorriso を使用して、cloud-init.iso
ファイルを作成します:
$ xorrisofs -output cloud-init.iso -volid CIDATA -joliet -rational-rock meta-data user-data network-config
cloud-init.iso
を光ディスクに 書き込み して、cloud-init データメディアを準備します。展開オプションが許可する場合は、ISO をそのまま使用します。
USB フラッシュドライブを使用する
インストールイメージが USB フラッシュドライブなどに書き込まれる場合、ドライブに十分なスペースがあれば、cloud-init データを格納する追加のパーティションを作成できます。
dosfstools、mtools、および libisoburn を インストール して下さい。
まず、LABEL を CIDATA
に設定して FAT イメージを作成します:
$ mkfs.fat -C -n CIDATA cloud-init.img 2048
meta-data
ファイルと user-data
ファイルをそのルートにコピーします:
$ mcopy -i cloud-init.img meta-data user-data network-config ::
公式 ISO を再パックして、FAT イメージを 3 番目のパーティションとして含めます:
$ xorriso -indev archlinux-version-x86_64.iso -outdev archlinux-version-x86_64-with-cidata.iso -append_partition 3 0x0c cloud-init.img -boot_image any replay
最後に、USB インストールメディア#ISO をそのまま使う (BIOS と UEFI) に従って、再パックされた ISO (archlinux-version-x86_64-with-cidata.iso
) を使用して USB フラッシュドライブインストールメディアを準備します。
単一のカスタムビルド ISO の使用
あるいは、Archiso を使用してカスタム ISO を作成します。これにより、タイプに関係なく 1 つのドライブのみを使用できます。
relen プロファイルを基礎として使用します。Cloud-init 設定ファイル を airrootfs/var/lib/cloud/seed/nocloud/
に配置し、ISO をビルドします。
インストールメディアから起動する
完了したら、適切な方法を使用して、インストールメディアと cloud-init データメディア (別々の場合) をヘッドレスマシンに展開します。
ヘッドレスマシンの電源を入れ、インストールメディアから live Arch 環境を起動します。ヘッドレスマシンが起動してネットワークに接続するまで、1 分ほど待ちます。
既存のマシン (キーボードとディスプレイ付き) から SSH でヘッドレス サーバー上のライブ Arch 環境に接続し、インストールガイド の説明に従ってインストールを完了します。