「SSH からインストール」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(リモート (ターゲット) マシン上でを翻訳して追加)
(項目を整理)
7行目: 7行目:
 
[[ru:Install from SSH]]
 
[[ru:Install from SSH]]
 
[[zh-hans:Install from SSH]]
 
[[zh-hans:Install from SSH]]
==最初に==
 
この記事は、SSHによるリモート接続を経由し、Archをインストールする方法を、ユーザに示しています。通常、次のようなシナリオの場合、SSH を使うことを検討する価値があります。
 
 
Arch をセットアップする PC が...
 
*モニタ(画面)表示せずに操作する PC である場合。
 
*別の場所、街、国(友達の家、親の家など)に位置する PC。
 
*リモートでセットアップするほうが好ましい PC。例えば、Arch Wiki のコピー/ペーストが想定される時など。
 
 
{{Note|最初の2つの手順は、PC に物理的にアクセスする必要があります。物理的に離れている場合、他人の助けをかりる必要があります!}}
 
 
==メディアからの起動==
 
[[ビギナーズガイド#最新のインストールメディアを準備する|live CD/USB イメージ]]から Live Arch 環境を起動する。
 
 
==SSH による Live 環境のセットアップ==
 
{{Note|次のコマンドは、root ユーザーとして実行する必要があります。 コマンドの前の # がそれを意味しています。}}
 
 
この段階で root としてログインしてください (LiveCD を動かす上のデフォルトユーザーです)。
 
 
まずは、ターゲットマシン (リモート接続して Arch のセットアップを行う PC) 上で、ネットワーク設定を行います。
 
 
有線では、{{ic|dhclient}} か {{ic|dhcpcd}} を動作させて接続できます。詳しくは[[ネットワーク設定]]を参照。
 
 
無線では、アクセスポイントに接続するために[[ネットワーク設定/ワイヤレス]]や [[Wpa_supplicant]] の情報を見て下さい。
 
 
既知のインターフェースのリストが表示されます。使用するインターフェースのタイプを入力します。(有線イーサネットのインターフェースの eth0)
 
 
次に、openssh デーモンを動かします:
 
# systemctl start sshd
 
 
最後に、ssh 接続に必要な root パスワードを設定します。デフォルトの Arch の root パスワードは空です。
 
passwd
 
 
==ターゲットマシンへの SSH 接続==
 
次のコマンドを使って、ターゲットマシンに接続します。
 
 
$ ssh root@ターゲットのIPアドレス
 
 
Live 環境のウェルカムメッセージを受け取れましたか?ここからは、物理的に離れた位置からキーボードを操作して、ターゲットマシンを管理出来るようになります。
 
 
<pre>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 ~]#</pre>
 
 
===ノート===
 
*ターゲットマシンがファイアウォール/ルータ越しにある場合は、デフォルトの SSH ポートである 22 を、ターゲットマシンのローカルエリア上の IP アドレスに転送する必要があります。ポートフォワーディングを使用する方法については、このガイドでは説明していません。
 
*Live 環境下で、標準ポート番号以外を使うようなデーモンを実行したい場合は、一旦、{{ic|/etc/ssh/sshd_config}} を非標準ポートに設定してください。
 
*{{ic|/etc/ssh/sshd_config}} を編集することでデーモンが起動するより早くライブ環境を設定することができます、例えば非標準ポートを起動したいときに。
 
 
==次のステップ==
 
ここからは自由にやりたいことをしてください。ライブメディアから Arch をインストールしたいのなら、[[インストールガイド]]のガイドを見て下さい。既存の壊れた Linux のインストールをやりなおすには、[[既存の Linux からインストール]] を参照してください。
 
 
[[GRUB]] と [[GPT]] ハードドライブを使いたい場合
 
 
*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
 
 
必要に応じて {{ic|/etc/default/grub}} を編集します。
 
GRUB をインストールして grub.cfg を生成:
 
 
grub-install /dev/sdX --no-floppy
 
grub-mkconfig -o /boot/grub/grub.cfg
 
 
{{Note|The above assumes that if the user intends to boot from a GPT disk, the user has fully read and understood the aforementioned wiki articles and has made a 1M partition ef02 for grub2.}}
 
 
再起動する準備ができたら、chroot を解除して再起動する前にパーティションをアンマウントします。
 
 
exit
 
umount /mnt/boot # if mounted this or any other separate partitions
 
umount /mnt/{proc,sys,dev}
 
umount /mnt
 
 
 
== リモート (ターゲット) マシン上で ==
 
== リモート (ターゲット) マシン上で ==
   

2024年1月4日 (木) 03:46時点における版

リモート (ターゲット) マシン上で

ノート: これらの手順では、マシンへの物理的なアクセスが必要です。ホストが物理的に別の場所にある場合は、別の担当者と調整する必要がある場合があります。

Live CD/USB イメージの取得とインストール を介して、ターゲットマシンを live Arch 環境で起動して、ユーザーは root としてログインします。

この時点で、インストールガイド#インターネットへの接続 で提案されている例に従って、ターゲットマシン上にネットワークをセットアップします。

root のデフォルトの Arch パスワードは空であるため、SSH 接続に必要な root パスワードを設定します:

# passwd

/etc/ssh/sshd_configPermitRootLogin yes が設定されていることを確認します。そうでない場合は、これを設定し、OpenSSH デーモン sshd.service再起動 して変更を適用します。

ノート: ターゲットマシンが NAT ルーターの背後にあり、外部アクセスが必要な場合は、SSH ポート (デフォルトでは 22) をターゲットマシンの LAN IP アドレスに転送する必要があります。あるいは、ローカル (クライアント) マシンへのリバース SSH トンネルを設定し、それを通じて接続し直すこともできます。ssh(1)-R フラグを参照してください。

ローカルマシン上で

ローカルマシンで、次のコマンドを使用して SSH 経由でターゲットマシンに接続します:

$ ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@ip.address.of.target
ノート: -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null オプションを使用すると、ライブ環境の SSH ホストキーを検証して ~/.ssh/known_hosts に書き込むことができなくなります。これにより、以前に IP アドレスに接続したことがある場合、REMOTE HOST IDENTIFICATION HAS CHANGED 警告が表示されなくなります。
ヒント: 両方のマシンが同じローカルネットワーク上にある場合は、ターゲットの IP アドレスの代わりに mDNS ホスト名 archiso.local を使用できます:
$ ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@archiso.local

ここから、ライブ環境のウェルカムメッセージが表示され、物理キーボードの前に座っているかのようにターゲットマシンを管理できます。この時点で、ライブメディアから Arch をインストールするだけの場合は、インストールガイド に従ってください。破損した既存の Linux インストールを編集することが目的の場合は、既存の Linux からインストール Wiki の記事に従ってください。

ヒント: ターゲットマシンで GNU Screen または tmux を使用することを検討してください (どちらもライブ環境で使用できます)。これにより、切断された場合でもマルチプレクサのセッションに再接続できます。

ヘッドレスサーバーへのインストール

ノート: これらの手順では、ヘッドレスマシンへの物理的なアクセスが必要になる場合があります。誰かがインストールメディアを挿入し、ヘッドレスサーバーの電源を入れる必要があります。

このセクションでは、キーボード、マウス、ディスプレイのないヘッドレスサーバーへの Arch Linux のインストールについて説明します。cloud-init NoCloud 構成の追加ドライブを使用して、OpenSSH 承認キーとオプションで iwd 接続を自動的に設定します。

Cloud-init 設定ファイルを準備する

必要な cloud-init 設定ファイルは 3 つあります: meta-datauser-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-datauser-data、および network-config をドライブにコピーし、ファイルシステムの LABEL を {{ic|CIDATA} に変更します}。

公式 ISO を持つドライブに加えて、このドライブをヘッドレスマシンに接続する必要があります。

追加の ISO の使用

libisoburnxorriso を使用して、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 データを格納する追加のパーティションを作成できます。

dosfstoolsmtools、および libisoburnインストール して下さい。

まず、LABELCIDATA に設定して 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 環境に接続し、インストールガイド の説明に従ってインストールを完了します。

ノート: さらに詳しく説明すると、インストール後にヘッドレスマシンへの WiFi SSH アクセスを許可するには、ブートイメージで実行されたすべての Wi-Fi および SSH 構成を実際の Arch Linux インストールで再度実行する必要があります。