如何在 EC2 Linux 執行個體上將 Session Manager Shell 變更為 Bash?

2 分的閱讀內容
0

我想在 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體上變更 Session Manager 預設 Shell。我該如何操作?

簡短描述

Amazon EC2 Linux 執行個體上的 Session Manager 工作階段依預設會使用 Bourne Shell (sh)。但是,Bash 是主要 Linux 發行版中的預設 Shell。如果您習慣於使用 Bash 而非 sh,則可以使用可設定的 Shell 設定檔,將預設 Session Manager Shell 變更為 Bash。Shell 設定檔可讓您在使用 Session Manager 時自訂工作階段內的偏好設定,其中包括:

  • Shell 偏好設定
  • 環境變數
  • 工作目錄
  • 在工作階段啟動時執行多個命令

您可以使用 Systems Manager 主控台或 AWS Command Line Interface (AWS CLI) 啟用可設定的 Shell 設定檔。

解決方法

先決條件

若要啟用 Shell 設定檔,您必須使用 SSM Agent 3.0.196.0 版或更新版本。在執行個體上檢查 SSM Agent 版本號碼。如有必要,請更新 SSM Agent。如需詳細資訊,請參閱自動更新 SSM Agent

若要查看執行個體上可用的 Shell,請執行下列命令:

$ sudo cat /etc/shells

注意: 您可以使用任何使用此命令傳回的 Shell。

啟用可設定的 Shell 設定檔 (主控台)

若要使用 Systems Manager 主控台來啟用可設定的 Shell 設定檔,並將 Shell 變更為 Bash,請遵循下列步驟:

1.    開啟 Systems Manager 主控台,然後從導覽窗格中選擇 Session Manager

2.    選擇偏好設定標籤,然後選擇編輯

3.    對於 "shellProfile" 下的 "linux",請輸入以下內容:

/bin/bash

4.    選擇儲存

啟用可設定的 Shell 設定檔 (AWS CLI)

注意: 如果您在執行 AWS CLI 命令時收到錯誤,請確保您使用的是最新版本的 AWS CLI

如需使用 AWS CLI 來啟用可設定的 Shell 設定檔並將 Shell 變更為 Bash 的指示,請參閱建立 Session Manager 偏好設定 (命令列)

其他 Shell 設定檔組態選項

依預設,Session Manager 會在 “/usr/bin” 目錄中啟動。您可以將命令新增至 Shell 設定檔,以變更 Linux 執行個體上的 /usr 目錄。例如:

cd /home/ec2-user

您也可以使用 Shell 設定檔載入特定的環境變數,或在工作階段開始時執行指令碼。例如,若要新增 PYTHONPATH 環境變數,請將以下命令新增至 Shell 設定檔:

export PYTHONPATH=/usr/lib/python2.7

登入後,您可以執行下列命令來驗證是否正確設定環境變數:

$ sudo env

相關資訊

啟用可設定的 Shell 設定檔

授予或拒絕使用者更新 Session Manager 偏好設定的許可 指定閒置工作階段逾時值

AWS 官方
AWS 官方已更新 3 年前