การเชื่อมต่อ SSH บน windows10

stackpython
3 min readApr 24, 2020

--

[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 ได้ ที่นี่

เมื่อ 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

ขอขอบคุณข้อมูลจาก

--

--

stackpython
stackpython

No responses yet