最新訊息Amazon EC2 上使用CentOS安裝多用戶虛擬主機的管理教學

38471
次閱讀
最新訊息 Amazon EC2 與 Lightsail都是亞馬遜雲端運算中針對網站伺服器提供的商品。尤其是在2019年4月27日首度開放香港區域,造成T2方案限制供應外,整體Amazon IP用戶大增。以下撰寫一些使用者在EC2上常遇見的問題與安排注意事項。

在EC2中的CentOS建立使用者後,如何使用該用戶登錄SFTP

EC2不允許使用帳號密碼登錄SFTP,必須使用私鑰驗證。最開始申請EC2時會產生預設使用者centos的私有金鑰檔案,千萬別弄丟了。

如果您有私有金鑰檔案,應該如何顯示公鑰?使用ssh-keygen命令,舉例我有已經下載好的私有金鑰檔案cadch.pem(該檔案又可以稱為金鑰對)

ssh-keygen -y -f cadch.pem

此命令會顯示cadch.pem所對應的公有金鑰。

為NEW-USER建立公鑰檔案

sudo su - NEW-USER//轉換角色
mkdir .ssh//產生目錄
chmod 700 .ssh//改變目錄權限
touch .ssh/authorized_keys//產生空白檔案
chmod 777 .ssh/authorized_keys//改變檔案權限

使用文字編輯器將剛剛顯示的公鑰貼入。並在後面加上一個空格再加上檔名cadch(不含.pem)

vi .ssh/authorized_keys
長得可能像下面樣式(後面接著cadch是金鑰對的名稱)
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCr2S8cbFyn4yIvjqFxl2Hi9ABrM96vGxSDZ3XMawDzeCb9qxEs3tyIToMKdJfwZ71vrOaDpKIXSgooMYDmUEoPrRdcSyiuM1xmM6lJfBl5e/Pez0lslBfNxhYGJVp0LHIFxMYq8Dpm9qnA4f4E7sIzDzRrL2qKZuLItteEmZXoMhytwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE cadch
最後將authorized_keys檔案權限變更為600
chmod 600 .ssh/authorized_keys//改變檔案權限

上述產生公鑰流程有許多人因為編碼、空格、換行、檔案權限...等問題,造成無法登錄,可以使得下面方案。

最簡單的方法是將EC2 中CentOS預設使用者centos下的公鑰copy至新使用者

cp /home/centos/.ssh/authorized_keys /home/NEW-USER/.ssh/authorized_keys

這樣您就可以使用原本第一次EC2提供的私鑰登錄NEW-USER了。
使用COPY方式前提是已經用NEW-USER角色產生空白檔案,取代檔案後擁有者一定要是NEW-USER,不然就會因為權限問題吐出錯誤訊息:publickey,gssapi-keyex,gssapi-with-mic

以上教學為非正式環境使用適合,嚴謹方案應該至AWS控制台中Key Pairs -> Create Key Pair,為NEW-USER使用另外產生的私鑰檔案。

既然使用EC2可以進行多用戶管理,是否對於台灣的虛擬主機管理者還有其他誘因呢?各位可以進入下面網頁查看ec2-reachability.amazonaws.com裡面可以找到HK的IP測看看路由,個人覺得真是便宜又大碗~