Score:2

วิธีการตั้งค่า NoMachine ใน Ubuntu ด้วยการตรวจสอบสิทธิ์ตามคีย์

ธง cn

คุณจะตั้งค่า NoMachine บน Ubuntu ได้อย่างไร

ทำไมต้องโนแมชชีน?

บน Windows ฉันชอบใช้ Chrome Remote Desktop สำหรับการเข้าสู่ระบบระยะไกล และใช้งานได้ดีมาก แต่บน Linux ฉันเพิ่งมีปัญหาหลังจากมีปัญหากับ Chrome Remote Desktop และมันก็แย่มาก:

  1. มันหยุดฉันจากการติดตั้งและใช้ดิสก์หรือไดรฟ์ USB ที่เสียบอยู่: ติดตั้งอัตโนมัติเมื่อคลิกที่ดิสก์ในตัวจัดการไฟล์ GUI หยุดทำงานใน Ubuntu ทันที ("ติดตั้งไม่ได้...ไม่ได้รับอนุญาตให้ดำเนินการ")
  2. มันหยุดฉันจากการเปลี่ยนแปลงการตั้งค่าเครื่องพิมพ์ของฉัน: การตั้งค่า gnome ของ Ubuntu 18.04: วิธีแก้ไข "นโยบายระบบป้องกันการเปลี่ยนแปลง ติดต่อผู้ดูแลระบบของคุณ" สำหรับผู้ใช้คนที่ 2 ซึ่งเป็นผู้ดูแลระบบอยู่แล้ว
  3. ฉันได้รับการใช้งานประมาณหนึ่งครั้งต่อการติดตั้ง Chrome Remote Desktop ใหม่: ไม่สามารถเชื่อมต่อกับ Chrome Remote Desktop บน Ubuntu 18
  4. เป็นต้น

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

Gabriel Staples avatar
cn flag
@ user535733 ฉันแค่ต้องการทิ้งคำถาม & คำตอบพร้อมข้อมูลที่กระชับ ทั้งหมดในที่เดียว เฉพาะสำหรับ Ubuntu การค้นหารายละเอียดเกี่ยวกับสิ่งต่างๆ เช่น การเปิดใช้งานการเข้าสู่ระบบด้วยคีย์และการปิดใช้งานการเข้าสู่ระบบด้วยรหัสผ่านอาจเป็นเรื่องที่ยุ่งยากเล็กน้อย
Score:2
ธง cn

เดิมฉันโพสต์คำแนะนำเหล่านี้ในของฉัน eRCaGuy_dotfiles ซื้อคืนที่นี่: https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles/tree/master/NoMachine

หากคุณต้องการ ssh ฉันได้บันทึกไว้แล้ว บันทึกย่อ ssh ต่างๆ ของฉันที่นี่.

NoMachine Readme

NoMachine คือ ยอดเยี่ยม โปรแกรมเข้าสู่ระบบระยะไกลด้วย ยอดเยี่ยม ความสามารถในการแชร์ไฟล์/เมานต์และ ยอดเยี่ยม รองรับข้ามแพลตฟอร์มสำหรับ Windows, Mac, Linux, iOS, Android, Raspberry Pi และ ARM มันคือ ไม่ โอเพ่นซอร์ส แต่ไม่มีค่าใช้จ่ายในการใช้ (ใช้ส่วนตัวเท่านั้น - ธุรกิจต้องจ่าย)

https://www.nomachine.com/

ติดตั้ง

ดาวน์โหลด:

https://www.nomachine.com/download

ในการเปิดใช้การพิสูจน์ตัวตนด้วยคีย์ไปยังเซิร์ฟเวอร์:

อ้างอิง:
อ่านเหล่านี้!

  1. วิธีตั้งค่าการพิสูจน์ตัวตนด้วยคีย์ด้วยโปรโตคอล NX
  2. กำลังสร้างคีย์ SSH ใหม่

โดยพื้นฐานแล้ว เพียงเพิ่มรหัสสาธารณะของคุณใน $HOME/.nx/config/authorized.crt ไฟล์บนเซิร์ฟเวอร์ หากไม่มีไฟล์อยู่ ให้สร้างขึ้น ตั้งค่าการอนุญาตเป็น 0600 นี่คือตัวอย่างหนึ่งของคำสั่งให้ทำ:

1) เรียกใช้จาก ลูกค้า:

สร้างคู่คีย์ส่วนตัว/สาธารณะใหม่จาก ลูกค้า; เรียกใช้สิ่งนี้จากลูกค้า:

ssh-keygen -t rsa -b 4096 -C "ความคิดเห็นหรืออีเมลส่วนตัวของคุณ"

คัดลอก สาธารณะ (.pub) คีย์จากไคลเอนต์ไปยังเซิร์ฟเวอร์เท่านั้น เรียกใช้สิ่งนี้จากลูกค้า สังเกตการเปลี่ยนชื่อไฟล์ที่ปลายทางเพื่อหลีกเลี่ยงความขัดแย้งกับคีย์ที่สร้างไว้แล้วบนเซิร์ฟเวอร์:

scp ~/.ssh/id_rsa.pub ชื่อผู้ใช้@server_hostname_or_ip:~/.ssh/id_rsa_nxclient.pub

2) เรียกใช้จาก เซิร์ฟเวอร์:

เพิ่มพับลิกคีย์บนเซิร์ฟเวอร์ไปยังไฟล์ NoMachine ที่เหมาะสม เรียกใช้สิ่งนี้จากเซิร์ฟเวอร์:

cat ~/.ssh/id_rsa_nxclient.pub >> ~/.nx/config/authorized.crt

และสุดท้าย ตั้งค่าการอนุญาตของไฟล์นี้เป็น 0600 เพื่อเปิดใช้งานการอ่าน/เขียนไฟล์นี้สำหรับผู้ใช้ (เจ้าของ) ไฟล์นี้เท่านั้น เพื่อความปลอดภัย:

chmod 0600 ~/.nx/config/authorized.crt

ถึง ปิดการใช้งาน ล็อกอินด้วยรหัสผ่านไปยังเซิร์ฟเวอร์:

หมายเหตุ: อย่าทำสิ่งนี้จนกว่าจะมีการตั้งค่าและตรวจสอบความถูกต้องตามคีย์ว่าใช้งานได้ มิฉะนั้นคุณจะสูญเสียความสามารถในการเชื่อมต่อระยะไกลผ่าน NoMachine & ต้องแก้ไขด้วยตนเองจากระยะไกลผ่าน ssh หรือในเครื่อง!

อ้างอิง:
(ไม่ได้ตอบคำถามนี้อย่างแน่นอน แต่มีประโยชน์ทางอ้อมในการหาคำตอบ)

  1. ป้องกันการตรวจสอบรหัสผ่านด้วยโปรโตคอล NX และการตรวจสอบโดยใช้คีย์
  2. อธิบายไฟล์ server.cfg และ node.cfg (สำหรับเซิร์ฟเวอร์ v. 4 และใหม่กว่า)

หมายเหตุ: บน Linux server.cfg จะอยู่ที่นี่: "/usr/NX/etc/server.cfg"

บนเซิร์ฟเวอร์แก้ไข server.cfg (sudo gedit /usr/NX/etc/server.cfg) และค้นหาส่วนนี้:

#
# ระบุวิธีที่ลูกค้าจะต้องตรวจสอบความถูกต้องกับเซิร์ฟเวอร์โดย
# เริ่มต้นรองรับวิธีการที่มีอยู่ทั้งหมด ซึ่งสอดคล้องกัน
#เพื่อความคุ้มค่าทั้งหมด ในการระบุเมธอดย่อยให้ใช้เครื่องหมายจุลภาคคั่น
# รายการ.
#
# วิธีการที่รองรับสำหรับการเชื่อมต่อด้วยโปรโตคอล NX คือ:
# รหัสผ่าน NX: การตรวจสอบรหัสผ่าน
# NX-private-key: การตรวจสอบสิทธิ์ตามคีย์
# NX-kerberos : การรับรองความถูกต้องตามตั๋ว Kerberos
#
# วิธีที่รองรับสำหรับการเชื่อมต่อโดยโปรโตคอล SSH คือ:
# ระบบ SSH : วิธีการทั้งหมดที่รองรับสำหรับการเข้าสู่ระบบ
# วิธีการตรวจสอบสิทธิ์ SSH สำหรับการเข้าสู่ระบบ
#ต้องตั้งค่าที่ระบบเช่นใน
# การกำหนดค่า PAM
#
# ตัวอย่างเช่น:
#AcceptedAuthenticationMethods NX-private-key,SSH-system
#
# คีย์นี้จะต้องใช้ร่วมกับ ClientConnectionMethod
# ดูเพิ่มเติมที่คีย์ EnableNXClientAuthentication สำหรับการเปิดใช้งาน SSL
# การรับรองความถูกต้องไคลเอนต์สำหรับการเชื่อมต่อด้วยโปรโตคอล NX
#
#AcceptedAuthenticationMethods ทั้งหมด

ตอนนี้ ด้านล่างบรรทัดแสดงความคิดเห็นที่ระบุการตั้งค่าเริ่มต้น:

#AcceptedAuthenticationMethods ทั้งหมด

เพิ่มบรรทัดนี้เพื่อเปลี่ยนการตั้งค่าเพื่ออนุญาตการตรวจสอบสิทธิ์ตามคีย์เท่านั้น:

ยอมรับวิธีการตรวจสอบสิทธิ์ NX-private-key

จากนั้นรีสตาร์ทเซิร์ฟเวอร์ NoMachine (https://www.nomachine.com/TR11N07362):

sudo /usr/NX/bin/nxserver --restart

ตอนนี้ลองเชื่อมต่อจากระยะไกลโดยใช้ NoMachine พร้อมการรับรองความถูกต้องด้วยรหัสผ่าน และคุณควรเห็นข้อผิดพลาดต่อไปนี้ในโปรแกรม GUI:

อ๊ะ! การเจรจาเซสชันล้มเหลวข้อผิดพลาด: ไม่อนุญาตให้ใช้วิธีการตรวจสอบสิทธิ์รหัสผ่าน NX บนเซิร์ฟเวอร์นี้

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

ในการเชื่อมต่อจากภายนอกเครือข่ายของคุณ

ในการเชื่อมต่อกับ NoMachine จากนอกบ้าน คุณต้องใช้ VPN ในเครือข่ายท้องถิ่นของคุณ หรือเปิดการส่งต่อพอร์ตผ่านไฟร์วอลล์ในโมเด็มของคุณ

ในการส่งต่อพอร์ต ให้เชื่อมต่อกับโมเด็มของคุณผ่านที่อยู่ IP ในเบราว์เซอร์ของคุณ และผ่านการตั้งค่าของคุณ แมปพอร์ตภายนอกบางพอร์ต เช่น 10000ไปยัง IP และพอร์ตของคอมพิวเตอร์ภายในของคุณที่มี NoMachine อยู่ รายละเอียดเหล่านี้เป็นคำถาม & คำตอบอื่น ๆ ในบางครั้ง ...

พอร์ตเริ่มต้นไปยังเซิร์ฟเวอร์ NoMachine ของคุณคือ 4000, ฉันเชื่อ. คลิกที่ไอคอน NoMachine ที่ด้านบนขวาใน Ubuntu ไปที่ "แสดงสถานะการบริการ" --> คลิกแท็บ "การตั้งค่าเซิร์ฟเวอร์" ทางด้านขวา --> ดู "พอร์ต" ที่นั่นสำหรับเซิร์ฟเวอร์ NoMachine ของคุณ

เสร็จแล้ว.

Gabriel Staples avatar
cn flag
@user68186, `4000` ฉันเชื่อ คลิกที่ไอคอน NoMachine ที่ด้านบนขวาใน Ubuntu ไปที่ "แสดงสถานะการบริการ" --> คลิกแท็บ "การตั้งค่าเซิร์ฟเวอร์" ทางด้านขวา --> ดู "พอร์ต" ที่นั่นสำหรับเซิร์ฟเวอร์ NoMachine ของคุณ

โพสต์คำตอบ

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