การเชื่อมต่อ SSH บน windows10
[what you get from this article]
เรียนรู้การเชื่อมต่อ SSH วิธีต่างๆเพื่อ remote control เซิร์ฟเวอร์จากทางไกล
[Introduction]
เชื่อว่าใครก็ตามที่เขียนเว็บแล้วนำไป deploy หากใช้เป็น virtual server อย่าง ec2 digital ocean หรือ droplet ที่เป็น linux จะต้องผ่านการ ssh เข้าไปซึ่งช่วงที่ผมลองใช้ใหม่ๆก็พบกับความปวดหัวบางอย่างจึงนำมาเขียนในบล็อคนี้ขึ้นมา
[เนื้อหา]
ในการ SSH นั้นวิธีที่เป็นที่นิยมและจะนำมาเขียนใน blog นี้ คือ
- ใช้ OpenSSH บน PowerShell ของ windows 10(Fall Creators Updateขึ้นไป)
- ใช้ Putty
SSH ผ่าน Putty
เมื่อ download แล้วทำการ install ให้เรียบร้อย
เมื่อทำการเปิดขึ้นมาให้ทำการใส่ ip ของ server เราและใช้ port เป็น 22 เลือก connection type เป็น SSH
คีย์ที่คุณใช้หากเป็น pem จะต้องแปลงเป็น ppk ก่อนซึ่ง pem ไม่สามารถใช้ได้กับ putty ได้จึงมีโปรแกรมอีกตัวนึงชื่อ puttygen(ติดมากับ putty ตอนลง)
ทำการ Load pem ไฟล์เข้า putty gen
คลิ้กเลือก All Files เพื่อให้โปรแกรมแสดงผลไฟล์ pem และเลือกไฟล์
เมื่อทำเสร็จแล้วให้เลือก save private key ถือว่าเสร็จต่อมาให้เพิ่ม ppk key ใน putty ด้วยการเข้าไปที่ Connection -> SSH -> Auth และทำการ browse ไฟล์ ppk เรา
สามารถตั้งค่า user ที่เราจะ login เข้าไปได้ตรง auto-login username แต่หากเราไม่ตั้งเดี้ยวระบบจะถามภายหลัง conect
ตัวอย่างการเข้าที่สำเร็จ
เราสามารถตั้งค่าใน connection ให้มันส่ง null packet เพื่อไม่ให้เราหลุดจาก ssh เนื่องจาก instance inactive เกิน (ตัวอย่างเช่นหากคุณถูกออกจากระบบเพราะไม่ทำอะไรทุกๆ 5 นาที ก็ใส่ไป 300 วิ)
ใช้ OpenSSH บน PowerShell ของ windows 10
ใน Windows 10 ตั้งแต่ Fall Creator Update ขึ้นมานั้น windows ได้ทำการใส่ OpenSSH มาให้เราแล้วเราสามารถลงได้ด้วยการเข้าไปที่ Setting-> Apps
เลือกไปที่ Manage optional featuresและกด add a feature
เลื่อนลงมาจะเห็น OpenSSHให้ทำการ Install
เมื่อทำการลงใหม่ตัว SSH agent ของเราจะยังใช้งานไม่ได้สามารถตรวจสอบได้ด้วยคำสั่ง
Get-Service ssh-agent
Get-Service ssh-agent | Select StartType
สามารถตั้งค่าให้ ssh-agent ทำงานได้ด้วยคำสั่ง
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
และต้องทำการใช้คำสั่ง ssh-agent ทุกครั้งก่อนทำการเชื่อมต่อด้วย ssh
ssh-agent
โดยเราสามารถใช้คำสั่ง ssh-add เพื่อทำการเพิ่ม key เข้าไป
ssh-add <keyของเรา>
หากท่านเกิดปัญหา files not accessible ดังภาพข้างล่างสามารถแก้ไขได้
ให้ทำการเปลี่ยน directory ไปยัง folder ของ key ด้วยคำสั่ง
cd <directory>
ตัว directory เราสามารถ copy ได้ตามภาพด้านล่าง
เมื่อทำการ change directory ไปยังโฟลเดอ key แล้วให้ set path ไปยัง key ของเรา
$path = ".\test.pem"
icacls.exe $path /reset
icacls.exe $path /GRANT:R "$($env:USERNAME):(R)"
icacls.exe $path /inheritance:r
ต่อมาสามารถ connect SSH ของเราได้ด้วยคำสั่ง
ssh <username>@<ip>
เช่นของผมเข้าถึง ip server 52.220.60.245 โดยมี username เป็น bitname จะใช้
ssh bitnami@52.220.60.245
ก็จะสามารถ login เข้าไปได้นะครับ หากใครมีข้อสงสัยอยากติชมหรือมีคำแนะนำ
ติดขัดตรงไหนสามารถcomment หรือทักเข้ามาพูดคุยได้เลยนะครับ:)
Isarafx_stackpython
ขอขอบคุณข้อมูลจาก