如果您無法使用root用戶通過SSH遠程連接Ubuntu系統的ECS實例,可以通過實例健康診斷工具進行問題修復。
前提條件
Linux實例已通過實例健康診斷工具進行診斷,診斷結果中實例無法啟動場景的SSH是否允許root用戶登錄檢查未通過。
背景信息
問題描述:無法使用SSH遠程連接Ubuntu系統的ECS實例,但是可以使用VNC登錄,查看日志提示failed password
。
問題原因:Ubuntu 18.04系統默認SSH的配置文件禁止root用戶登錄。
說明 Linux社區提供的Ubuntu 18.04系統默認禁用了root用戶登錄,但阿里云對應的公共鏡像默認支持root用戶登錄。
操作步驟
- 遠程連接問題實例。當ECS實例處于正在掛載修復盤的模式下時,只能通過VNC遠程連接。具體操作,請參見使用VNC登錄實例。說明 當您通過實例健康診斷工具診斷出問題后,診斷系統已自動在問題實例中掛載了修復盤,建議您根據本文提供的操作步驟,通過臨時掛載的修復盤進行問題修復。您也可以通過ECS控制臺卸載修復盤并恢復問題實例至正常模式,然后直接通過VNC登錄實例進行修復。具體操作,請參見無法使用SSH遠程連接Ubuntu系統的ECS實例。
- 查看問題實例原有系統盤的掛載信息。在臨時掛載的修復盤中,問題實例原有系統盤的文件系統會被掛載到某一臨時目錄下。您可以通過以下任一方式查看所在的臨時目錄信息:
- 通過ECS控制臺的實例健康診斷結果獲取,對應的信息格式示例如下所示:
/tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****
。 - 在臨時掛載的修復盤中,運行mount命令查看。例如,問題實例原有系統盤的設備路徑為/dev/vda,命令示例如下所示:
mount | grep /dev/vda
返回結果如下所示:/dev/vda1 on /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse**** type ext4 (rw,relatime)
- 通過ECS控制臺的實例健康診斷結果獲取,對應的信息格式示例如下所示:
- 運行chroot命令,將根目錄切換為問題實例原有系統盤所在的臨時路徑,并進入chroot環境。您需要在問題實例原有系統盤所在的臨時路徑中進行文件修復。例如,臨時路徑為/tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****,命令如下所示:
chroot /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****
- 在chroot環境中,運行以下命令備份/etc/ssh/sshd_config文件。
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
- 編輯/etc/ssh/sshd_config文件。
- 修復完成后,退出修復環境,然后檢查問題實例的當前狀態。
- 運行exit命令,退出chroot環境。
- 在ECS控制臺的實例健康診斷頁面,卸載臨時掛載的修復盤并恢復問題實例至正常模式。
- 遠程連接已修復的ECS實例,確認成功登錄。