安装 Fedora 远程使用 Live 媒体

说朋友或亲戚要安装 Fedora,但是有一些问题使他们对自己运行安装程序没有信心。 例如,他们可能希望在不更换硬盘驱动器的情况下保存现有内容,这涉及缩小文件系统,而不是针对没有经验的人。 本文将引导您完成一个允许您帮助他们远程安装的过程。

自然,他们需要非常信任您(以及您他们),因为他们让您可以完全访问机器。 我称他们为“客户”。

第1步。 他们需要从 https://getfedora.org 并将其写入 U 盘。 我用 肉桂旋转,但本文中的任何内容都不应特定于桌面环境。 如果需要,您需要与他们讨论所有这些。 上也有说明 getfedora.org.

第2步。 客户端将 U 盘插入要安装的机器,并从 USB 升压。 启用 USB 启动的确切步骤是特定于设备的,超出了本文的范围。 您可能希望确保客户可以访问他们的产品文档。 或者您可以向他们询问系统的品牌和型号,并在 Internet 上查找文档。

步骤 3。 让他们通过本地 Wifi 或以太网连接到互联网,并让他们运行 Firefox 检查它是否正常工作。 将他们发送到这篇文章,这样他们就可以在需要时复制和粘贴相关命令。

第4步。 现在让他们从菜单中启动一个终端。

[liveuser@localhost-live ~]$ passwd
Changing password for user liveuser.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[liveuser@localhost-live ~]$ sudo systemctl start sshd
[liveuser@localhost-live ~]$ ifconfig

SSHd 将不允许使用空密码进行远程登录,因此此步骤会分配一个密码,客户端需要与您共享该密码。 我建议使用一系列简单但随机的单词。

Live 媒体包括 pidgin(或其他 DE 的类似聊天客户端)。 让客户端启动 pidgin 并登录到受信任的服务器会很有帮助。 我建议在一个 Fedora 服务器具有公共 IP,并允许公开注册。 我将跳过本文的详细信息。 在您信任/控制的 XMPP 服务器上使用带有 SSL 的 pidgin 客户端,您可以比通过电话更安全地共享密码。 (安装 OTR 将是与他们交谈的又一个步骤。)

现在的任务是让您安全地连接到客户端计算机。 让客户端与您共享 ifconfig 命令的输出。 如果他有公共 IP4 或 IP6,并且您可以连接到它,则可以跳到第 6 步。如果它们位于不阻止 ethertype 0xfc00 且其他 Cjdns 节点位于 LAN 上的 LAN 上,您也可以节省步骤 —但这不太可能,我们将跳过细节。

步骤 5。 如果您在这里,您的客户端处于“IP4 NAT 监狱”中,您需要通过设置 VPN 帮助他逃脱。 最简单的 VPN 设置是 Cjdns,但由于您不想通过设置与客户端交谈,因此您还需要一台可通过 IP4 访问的受信任机器,您可以在该机器上为客户端提供一个非特权 shell 帐户以进行引导。 让客户端使用 SSH 远程隧道登录到您的服务器:

[liveuser@localhost-live ~]$ ssh -R8022:localhost:22 [email protected]
The authenticity of host 'shared.example.net' can't be established.
ECDSA key fingerprint is SHA256:kRfekGaa456ga34tddrgg8kZ3VmBbqlx6vZZwhcRpuc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'shared.example.net' (ECDSA) to the list of known hosts.
username@shared's password:
Last login: Wed Jan 23 18:15:38 2019 from 2001:db8:1234::1019
[theirlogin@shared ~]$

现在您可以登录到他们的机器并安装 Cjdns。 登录共享。example.net 然后进入客户端机器:

[yourlogin@shared ~]$ ssh -p8022 liveuser@localhost
liveuser@localhost's password:
Last login: Wed Jan 23 18:16:36 2019 from ::1
[liveuser@localhost-live ~]$

在客户端上安装和配置 Cjdns,如果您还不熟悉,请使用这些说明,如果您还不熟悉,也可以在您自己的工作站上安装和配置。 您可以跳过在客户端上安装 cjdns-tools 和 cjdns-selinux,因为这是临时设置。 但是您需要工具来帮助调试任何故障。

运行 ifconfig tun0 并将客户端的 Cjdns VPN IP 复制到您的本地 /etc/hosts 文件,并使用合适的昵称。 我将在本文中使用昵称 h.client。

[you@yourworkstation ~] $ sudo su -
# echo fc3f:26b0:49ec:7bc7:a757:b6eb:1eae:714f h.client >>/etc/hosts

确认您可以从您的工作站登录到 [email protected],然后您可以注销您的隧道登录。

步骤 6。 在客户端上安装 x2goserver。 Tigervnc 对于有限的机器来说会更轻,但 x2go 很容易连接到 liveuser 桌面,这样他们就可以看到你为教育和透明度所做的工作。 一些旋转还包括内置的远程桌面功能,但我喜欢 x2go。

在您的工作站上运行 x2goclient,并创建一个新会话:

  • 会话名称:h.client
  • 主机:h.client
  • 登录:liveuser
  • 会话类型:连接到本地桌面

现在您可以在客户观看时做您的专家工作。 对于缩小现有分区,我建议安装 gparted 并在实时安装之前运行它。

步骤 7。 Live Install 完成后,新安装的根文件系统仍应挂载为 /mnt/sysimage。 仔细检查,然后将 cjdns 配置复制到新系统并启用 sshd。 默认情况下,传入端口 22 应该是打开的。

[liveuser@localhost-live ~]$ sudo cp /etc/cjdroute.conf /mnt/sysimage/etc 
[liveuser@localhost-live ~]$ sudo systemctl --root=/mnt/sysimage enable sshd

您还应该在新系统上安装 cjdns(或您使用的任何 VPN),以便客户端在重新启动后无需再次执行 SSH rigamarole。

[liveuser@localhost-live ~]$ sudo dnf install cjdns --installroot=/mnt/sysimage 
[liveuser@localhost-live ~]$ sudo systemctl --root=/mnt/sysimage enable cjdns

步骤 8。 您现在应该准备好重新启动了! 如果出现问题,您的客户端可以从 Live Media 启动并再次从第 5 步开始执行 SSH 例程,这样您就可以诊断出问题所在。

摄影者 史蒂夫·约翰逊不飞溅.