การเชื่อมต่อกับ Virtual Machines ใน Azure สามารถทำได้โดยใช้ข้อมูลประจำตัวหรือ SSH SSH (Secure Shell) เป็นโปรโตคอลที่ใช้เชื่อมต่อระยะไกลกับเครื่องโฮสต์ผ่านการเชื่อมต่อที่เข้ารหัส สามารถใช้เชื่อมต่อกับสวิตช์, เราเตอร์, VMware, Linux หรือโฮสต์ใดๆ ที่รองรับการเชื่อมต่อ SSH ในบทความนี้ จะแสดงวิธีสร้างคีย์ SSH และเพิ่มลงใน Ubuntu Server 18.04 LTS ใหม่ที่ติดตั้งใน Azure
SSH ประกอบด้วยสองคีย์ คือ คีย์ส่วนตัว (private key) และคีย์สาธารณะ (public key) คีย์สาธารณะจะถูกวางบน Linux VM ส่วนคีย์ส่วนตัวคือสิ่งที่เรานำเสนอเพื่อยืนยันตัวตนของเรา
ในขั้นตอนแรก เราจะสร้างคีย์ SSH และในขั้นตอนที่สอง เราจะสร้าง Ubuntu Server และเพิ่มคีย์ SSH เข้าไป
ขั้นตอนที่ 1: สร้างคีย์ SSH
- ล็อกอินเข้าสู่ Azure Portal
- เปิด Azure Cloud Shell ที่มุมขวาบนของหน้าต่าง หากคุณยังไม่เคยใช้มาก่อน คุณจะต้องสร้าง storage account ใหม่และอนุญาตให้ Azure Cloud Shell เก็บไฟล์ไว้ที่นั่น ซึ่งจะมีค่าใช้จ่ายรายเดือนน้อยๆ

- รอจนกว่าเทอร์มินัลจะเชื่อมต่อได้อย่างถูกต้อง
- พิมพ์ ssh-keygen -t rsa -b 4096 และกด Enter เพื่อสร้างคีย์ SSH
- ใส่ชื่อไฟล์เพื่อบันทึกคีย์ ในกรณีนี้ เราจะบันทึกไฟล์ที่ตำแหน่งเริ่มต้นโดยกด Enter คำสั่งนี้สร้างไฟล์สองไฟล์: id_rsa และ id_rsa.pub ในไดเรกทอรี ~/.ssh ไฟล์จะถูกเขียนทับหากมีอยู่แล้ว
- ใส่ passphrase passphrase นี้จะใช้ในการเชื่อมต่อกับ VM ผลลัพธ์ควรจะเป็นแบบนี้

- คุณสามารถดูเนื้อหาของไฟล์ที่สร้างขึ้นก่อนหน้านี้ได้โดยพิมพ์คำสั่ง cat ~/.ssh/id_rsa.pub และกด Enter ผลลัพธ์ควรจะเป็นแบบนี้ คุณจะต้องใช้คีย์ที่ได้สำหรับ Virtual Machine ของคุณ

ขั้นตอนที่ 2: มอบหมายให้ Ubuntu Server
เมื่อเราสร้างคีย์ SSH ในขั้นตอนก่อนหน้าแล้ว ขั้นตอนต่อไปคือเพิ่มคีย์เข้าไปใน Ubuntu Server ที่โฮสต์บน Azure สามารถทำได้ในสองสถานการณ์ สำหรับ Ubuntu Server ที่มีอยู่แล้ว หรืออันใหม่ที่คุณสร้างขึ้น ผมจะแนะนำขั้นตอนสำหรับทั้งสองสถานการณ์ เริ่มจาก Virtual Machine ใหม่ก่อน
- ล็อกอินเข้าสู่ Azure Portal
- คลิกที่ Create a resource ด้านซ้ายของหน้าต่าง
- คลิกที่ Ubuntu Server 18.04 LTS

- ภายใต้ Basic ใส่ข้อมูล Virtual Machine ที่จำเป็นสำหรับ subscription, resource group, virtual machine name, region, availability options, image, และ virtual machine size เมื่อทำเสร็จ ให้เลื่อนลงไปที่ Administrator account และเลือก SSH public key
- พิมพ์ username
- ภายใต้ SSH public key source เลือก Use existing public key
- ภายใต้ SSH public key ใส่คีย์ SSH ที่คุณสร้างขึ้นในขั้นตอนที่ 1 (คำสั่ง cat ~/.ssh/id_rsa.pub)
- ภายใต้ Select inbound ports เลือก SSH (22)

- กำหนดค่าส่วนที่เหลือสำหรับ Virtual Machine ของคุณ และคลิก Review + create
- ไปที่ Virtual Machine แล้วคลิกที่ Overview ตามภาพด้านล่าง

- คลิกที่ Connect แล้วเลือก SSH จะเปิดหน้าต่างใหม่ที่คุณสามารถดาวน์โหลด SSH clients (PuTTY หรือ clients อื่นๆ) หรือคุณสามารถเชื่อมต่อกับ VM ของคุณได้ง่ายๆ โดยใช้ Azure Cloud Shell

- ในกรณีนี้ เราจะเปิด Azure Cloud Shell และเชื่อมต่อกับ Virtual Machine โดยพิมพ์คำสั่งต่อไปนี้: ssh azureuser@104.214.76.108 โดย azureuser คือ username และ 104.214.76.108 คือ public IP address

- เนื่องจากนี่คือการเชื่อมต่อครั้งแรกกับ Virtual Machine ใหม่ที่สร้างขึ้นด้วย SSH ให้พิมพ์ Yes และกด Enter เพื่อยืนยันการตรวจสอบสิทธิ์โฮสต์
- ใส่ passphrase ที่คุณสร้างในขั้นตอนที่ 1 และกด Enter

- คุณเชื่อมต่อกับ Ubuntu Server สำเร็จแล้ว