《Windows Azure Platform 系列文章目錄》
本文介紹內容適合於Azure Global和Azure China
為什么使用SSH登錄Azure Linux虛擬機?
我們知道,在Azure平台創建的Linux虛擬機都會打開SSH。如果我們使用用戶名和密碼方式登錄Azure Linux的話,安全性是非常差的。因為Azure Linux VM的SSH端口暴露在Internet上,會有不懷好意的黑客頻繁登錄我們創建的Azure Linux VM。如果我們沒有設置強密碼的話,筆者建議從以下三點來提高安全性:
1.如果客戶端是固定公網IPV4地址,可以針對SSH端口設置Access Control List (ACL),可以參考:
Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)設置客戶端訪問權限
2.如果客戶端是非固定公網IPV4地址,可以設置Linux SSH方式登錄。這樣安全性可以得到顯著提高。
Linux SSH是一個非常成熟的技術,筆者也是Linux初學者,如果介紹有任何問題,還請讀者輕拍,謝謝!
在開始本章之前,筆者的環境如下:
1.Azure賬戶,Azure China或者Azure Global都可以
2.本地筆記本電腦,安裝Win10操作系統
3.下載OpenSSL for Windows,http://gnuwin32.sourceforge.net/packages/openssl.htm
4.下載PuttyGen,下載地址是:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
5.下載Putty
第一部分:我們需要通過OpenSSL,生成PEM文件
1.我們首先使用OpenSSL,生成PEM文件,如下:
# openssl.exe req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem
注:上面的-days 3650表示有效期為3650天
2.你的屏幕執行如下:
3.在上圖的界面中,回答系統的問題。或者直接按回車
4.執行openssl.exe命令之后,會在同一目錄下生成2個新的文件myPrivateKey.key和myCert.pem。
myCert.pem這個文件我們在創建Azure Linux VM的時候需要。
第二部分:我們登錄Azure Portal,創建Linux VM。
在創建VM的時候,身份驗證選擇SSH密鑰,如下圖:
上圖的證書,記得選擇我們在步驟一中,使用OpenSSL生成的myCert.pem文件。
第三部分,使用PuttyGen,生成密鑰。
1.我們運行puttygen.exe
2.執行File > Load a Private Key
3.選擇我們在步驟一中生成的myPrivateKey.key
4.選擇完畢后,在下圖中,點擊Save Private Key
5.保存的文件名為private.ppk
6.另外如果我們想導出ssh.com key的話,可以點擊下圖中的Conversions -> Export ssh.com key
第四部分,我們在本地筆記本電腦,運行Putty.exe
1.Host Name我們輸入在Azure上創建的Azure Linux VM Cloud Service Name,如下圖:
2.在Putty界面里,Connection > SSH > Auth。選擇我們在步驟3中導出的private.ppk文件
3.然后我們點擊連接Open,登錄名選擇我們在步驟二中設置的用戶名azureuser。這樣就可以直接登錄了