เดิมฉันโพสต์คำแนะนำเหล่านี้ในของฉัน 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
ในการเปิดใช้การพิสูจน์ตัวตนด้วยคีย์ไปยังเซิร์ฟเวอร์:
อ้างอิง:
อ่านเหล่านี้!
- วิธีตั้งค่าการพิสูจน์ตัวตนด้วยคีย์ด้วยโปรโตคอล NX
- กำลังสร้างคีย์ 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 หรือในเครื่อง!
อ้างอิง:
(ไม่ได้ตอบคำถามนี้อย่างแน่นอน แต่มีประโยชน์ทางอ้อมในการหาคำตอบ)
- ป้องกันการตรวจสอบรหัสผ่านด้วยโปรโตคอล NX และการตรวจสอบโดยใช้คีย์
- อธิบายไฟล์ 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 ของคุณ
เสร็จแล้ว.