วิธีการเปิดใช้ SSH บนเครื่อง Mac จาก Command Line

Mac ใหม่ทุกเครื่องที่ใช้ MacOS หรือ Mac OS X มาพร้อมกับ SSH ที่ติดตั้งมาโดยค่าเริ่มต้น แต่ภูต SSH (Secure Shell) จะถูกปิดใช้งานโดยค่าเริ่มต้น ผู้ใช้ Mac ขั้นสูงอาจชื่นชมความสามารถในการเปิดใช้งาน SSH และปิดใช้งาน SSH ทั้งสองแบบมีอยู่ทั้งหมดจากบรรทัดคำสั่งของ Mac OS ทำให้สามารถใช้วิธีง่ายๆในการอนุญาตหรือไม่อนุญาตการเชื่อมต่อระยะไกลเข้ากับคอมพิวเตอร์ ไม่มีการโหลดการดาวน์โหลดหรือรวบรวมข้อมูลที่จำเป็นเพื่อเปิด SSH จากเครื่องเทอร์มินัลบนเครื่อง Mac ใด ๆ ที่คุณต้องดำเนินการตามคำสั่งการตั้งค่าระบบดังที่เราจะแสดงในบทแนะนำนี้


ทราบด้านรวดเร็ว; คู่มือนี้ใช้กับ MacOS และ Mac OS X ทุกเวอร์ชัน แต่มุ่งเน้นไปที่ผู้ใช้ขั้นสูงที่ใช้เวลามากในเทอร์มินัล หากต้องการปิดและเปิดใช้งาน SSH และหลีกเลี่ยงบรรทัดคำสั่งคุณสามารถทำได้โดยการเปิดใช้งานการเข้าสู่ระบบระยะไกลในแผงการกำหนดลักษณะการแชร์ใน Mac หรือหยุดเซิร์ฟเวอร์โดยไม่ต้องทำเครื่องหมายที่ช่อง ถ้าคุณไม่ใช้ ssh เป็นประจำไม่มีเหตุผลที่จะเปิดใช้งานเซิร์ฟเวอร์ ssh บนเครื่อง Mac

วิธีการตรวจสอบว่าเข้าสู่ระบบ SSH ถูกเปิดใช้งานใน Mac OS ผ่าน Terminal หรือไม่

ต้องการตรวจสอบสถานะปัจจุบันของ SSH บนเครื่อง Mac หรือไม่? การใช้สตริงคำสั่ง systemetup เราสามารถระบุได้อย่างรวดเร็วว่า SSH และการเข้าสู่ระบบระยะไกลสามารถเปิดใช้งานได้ใน Mac ทุกเครื่องหรือไม่:

sudo systemsetup -getremotelogin

หากการเข้าสู่ระบบระยะไกลและ SSH ถูกเปิดใช้งานคำสั่งและรายงานจะบอกว่า "เข้าสู่ระบบระยะไกล: เปิด" ในขณะที่ถ้า SSH ถูกปิดใช้งานและอยู่ในสถานะ macOS ดีฟอลต์จะมีข้อความว่า "Remote Login: Off"

เปิดใช้งาน SSH บน Mac จาก Command Line ที่มี systemetup

หากต้องการเปิดใช้งานเซิร์ฟเวอร์ SSH อย่างรวดเร็วและอนุญาตให้มีการเชื่อมต่อ ssh เข้ากับเครื่อง Mac ปัจจุบันให้ใช้ค่า -setremotelogin flag ด้วยชุดโปรแกรมระบบดังนี้:

sudo systemsetup -setremotelogin on

sudo จำเป็นเนื่องจากคำสั่ง systemetup ต้องการสิทธิ์ของผู้ดูแลระบบเช่นเดียวกับเมื่อคุณเปิดใช้งานการเข้าสู่ระบบระยะไกลจากค่ากำหนดการแชร์ในเครื่อง Mac เพื่อเปิดใช้งานเซิร์ฟเวอร์เชลล์ที่ปลอดภัย

ไม่มีการยืนยันหรือข้อความที่เปิดใช้งานการเข้าสู่ระบบระยะไกลและ SSH แต่คุณสามารถใช้ค่าสถานะ -getmorelogin ที่ระบุไว้เพื่อตรวจสอบและยืนยันว่าขณะนี้เซิร์ฟเวอร์ SSH กำลังทำงานอยู่ และใช่การใช้ -setremotelogin ใช้กับการเปิดใช้งานทั้งเซิร์ฟเวอร์ ssh และ sftp บนเครื่อง Mac

เมื่อมีการเปิดใช้งาน SSH บัญชีผู้ใช้หรือบุคคลที่มีการเข้าสู่ระบบในเครื่อง Mac ปัจจุบันสามารถเข้าถึงได้จากระยะไกลโดยใช้คำสั่ง ssh ที่กำหนดที่อยู่ IP ของ Mac เช่น:

ssh [email protected]

เมื่อเชื่อมต่อแล้วผู้ใช้จะสามารถเข้าถึงคอมพิวเตอร์ได้จากระยะไกลผ่านทางบรรทัดคำสั่งและหากมีบัญชีผู้ดูแลระบบหรือรหัสผ่านผู้ดูแลระบบก็จะสามารถเข้าถึงการดูแลระบบจากระยะไกลได้อย่างเต็มที่

ปิด SSH บน Mac OS ด้วยการตั้งค่าระบบ

ถ้าคุณต้องการปิดใช้งานเซิร์ฟเวอร์ SSH จากบรรทัดคำสั่งและป้องกันการเชื่อมต่อระยะไกลเพียงแค่เปลี่ยน 'on' เป็น 'off' โดยใช้ flag -setremotelogin ของ systemetup ดังนี้:

sudo systemsetup -setremotelogin off

อีกครั้ง sudo จำเป็นต้องสลับ SSH ออกและปิดใช้งานเซิร์ฟเวอร์ ssh และ sftp

เมื่อคุณดำเนินการคำสั่งเรียบร้อยแล้วระบบจะถามคุณว่า "คุณต้องการปิดการเข้าสู่ระบบระยะไกลหรือไม่? หากคุณทำเช่นนี้คุณจะสูญเสียการเชื่อมต่อนี้และสามารถเปิดเครื่องได้เฉพาะที่เซิร์ฟเวอร์เท่านั้น (yes / no) " ให้พิมพ์" yes "เพื่อยืนยันซึ่งจะปิดใช้งาน SSH และยกเลิกการเชื่อมต่อ SSH ที่ใช้งานอยู่กับ Mac ใน คำถาม. หากคุณต้องการหลีกเลี่ยงการพิมพ์ yes / no อาจรวมไว้ในสคริปต์การตั้งค่าหรืออื่น ๆ คุณสามารถใช้ flag -f เพื่อหลีกเลี่ยงคำถามเช่นนี้

sudo systemsetup -f -setremotelogin off

ในทำนองเดียวกันคุณสามารถใช้ -f เพื่อข้ามคำแนะนำใด ๆ ในส่วนที่เกี่ยวกับการเปิดใช้งาน SSH ด้วย

systemsetup -f -setremotelogin on

โปรดทราบว่าไม่ว่าคุณจะปิด SSH หรือเปิดใช้งาน SSH จากบรรทัดคำสั่งการตั้งค่าแผงการกำหนดค่าระบบการเข้าสู่ระบบระยะไกลใน Mac OS X GUI จะปรับเปลี่ยนเพื่อให้สอดคล้องกับการเปลี่ยนแปลงด้วยเช่นกัน