我需要在 GCP 上创建一台 RHEL 机器,并为 /home、/tmp 和 /var 设置单独的分区。如果我在物理机器上安装,我会在安装操作系统时简单地对磁盘进行分区,但我似乎无法在 GCP 虚拟机上解决这个问题。我:
- 通过选择现有 RHEL VM 并使用“创建类似”功能在 GCP 上实例化了新的 RHEL VM
- 使用以下方式在 GCP 上创建新磁盘
gcloud compute disks create acas-home --size 200 --type pd-ssd
- 将其连接到我的虚拟机
gcloud compute instances attach-disk <my-vm-name> --disk acas-home
- 格式化
sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
- 将新分区挂载到临时文件夹中,然后将原始 .ssh 文件夹复制到其中,以导入 authorized_keys 文件
- 使用以下行将新磁盘添加到 /etc/fstab
UUID=<MY_UUID_VALUE> /home ext4 discard,defaults,nofail 0 2
- 使用以下方式安装磁盘
sudo mount -a
- 重新启动 sshd
sudo systemctl restart sshd.service
此后,我无法通过 ssh 进入服务器。我尝试删除 authorized_keys 文件并创建一个新文件,但无济于事。我还尝试将另一个授权密钥文件添加到 sshd_config 并填充它,使用以下行,但它也无法获取它:
AuthorizedKeysFile .ssh/authorized_keys /etc/ssh/authorized_keys
我究竟做错了什么?
答案1
您能否尝试以下操作官方文档并通过 gcloud 建立连接:
gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
您可以在官方文档中找到有关如何排查 GCP 中的 SSH 问题。
答案2
您可能忘记恢复新创建的分区的 SELinux 上下文。
restorecon -rv /home