การติดตั้งopenssh-server
จะช่วยให้คุณสามารถเข้าถึงไดรฟ์ทั้งหมดของคุณอย่างปลอดภัยผ่านอินเทอร์เน็ตหรือจากอุปกรณ์ในบ้านของคุณตราบใดที่พวกเขาสนับสนุน sFTP หากไม่มีเหตุผลใด ๆ การแบ่งปันแซมบ้าสามารถเพิ่มเติมได้ตามรายละเอียดในคำตอบอื่น นี่คือวิธีการตั้งค่าของฉัน:
ติดตั้งเซิร์ฟเวอร์ OpenSSH :apt-get install openssh-server
เปิดพอร์ต 22 : มีหลายวิธีในการทำเช่นนี้ฉันใช้gufw
(คุณอาจต้องติดตั้งฉันไม่แน่ใจว่ามันเป็นค่าเริ่มต้น) หากคุณต้องการเปิดอินเทอร์เน็ตในภายหลังคุณจะต้องส่งต่อพอร์ต 22 ไปยังเซิร์ฟเวอร์จากเราเตอร์ของคุณ โดยปกติคุณสามารถทำได้ผ่านเว็บอินเตอร์เฟสบนเราเตอร์ หากทำได้ให้กำหนด IP แบบคงที่ให้เซิร์ฟเวอร์ที่นั่นด้วย (เช่นปิด DHCP สำหรับเซิร์ฟเวอร์)
แก้ไขการตั้งค่า ssh : สำรองข้อมูลและเปิดไฟล์/etc/ssh/sshd_config
และเปลี่ยน / เพิ่มการตั้งค่า
PermitRootLogin no
AllowUsers guarav_java other_user_if_necessary
เพื่อความปลอดภัยสูงสุดคุณสามารถตั้งค่าการเข้าสู่ระบบโดยใช้คีย์ได้ตามรายละเอียดที่นี่https://help.ubuntu.com/community/SSH/OpenSSH/Keysแต่จะพอเพียงถ้าคุณตั้งรหัสผ่านที่แข็งแกร่งมากและบันทึกไว้ใน เครื่องไคลเอนต์แต่ละ
คุณอาจต้องการสร้างผู้ใช้สำหรับการเชื่อมต่อแต่ละคน ถ้าคุณทำเช่นนั้นคุณสามารถเพิ่มทั้งหมดไปยังกลุ่มเดียวกัน (ssh_users พูด) AllowGroups ssh_users
และอนุญาตให้ทุกคนในกลุ่มที่ใช้ในการเชื่อมต่อ (สำหรับข้อมูลเพิ่มเติมดูhttp://knowledgelayer.softlayer.com/learning/how-do-i-permit-specific-users-ssh-access )
ตรวจสอบการตั้งค่าที่ถูกต้อง : คุณสามารถตรวจสอบว่าคุณได้ทำข้อผิดพลาดทางไวยากรณ์ในไฟล์ปรับแต่งด้วยหรือไม่sshd –t
เชื่อมต่อจากเซิร์ฟเวอร์กับตัวเอง : ณ จุดนี้คุณควรสามารถเชื่อมต่อกับเครื่องจากตัวเองใน terminal โดยssh localhost
(สมมติว่าคุณมีอยู่แล้วopenssh-client
) ssh <ip-address>
จากนั้นลองจากเครื่องอื่นบนเครือข่ายของคุณ
หาก ip ของเซิร์ฟเวอร์เป็นแบบคงที่ในเครือข่ายในบ้านของคุณคุณสามารถเพิ่มรายการลง/etc/hosts
ในคอมพิวเตอร์ Ubuntu ที่เชื่อมต่อกับบรรทัดนั้นได้
server_ip_address theserver
นี่จะหมายความว่าคุณสามารถเชื่อมต่อได้ง่ายๆssh theserver
หรืออะไรก็ตามที่คุณเรียกว่า คุณสามารถทำเช่นเดียวกันสำหรับ Windows (ดูที่นี่: http://helpdeskgeek.com/windows-7/windows-7-hosts-file/ )
การเชื่อมต่อผ่าน sFTP : หากคุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์จากเครื่องอื่นในเครือข่ายภายในบ้านของคุณในเทอร์มินัลคุณสามารถเชื่อมต่อผ่าน sFTP และเรียกดูและถ่ายโอนไฟล์อย่างปลอดภัย โดยส่วนตัวฉันตั้งค่าแป้นพิมพ์ลัดเพื่อให้ฉันสามารถเมา / unmount เซิร์ฟเวอร์ของฉันด้วยคำสั่งแป้นพิมพ์ (บน Ubuntu):
gvfs-mount sftp://user@ipaddress
gvfs-mount -u sftp://user@ipaddress
( -u
แฟล็กคือคำสั่ง umount)
นำผู้ที่เป็น "คำสั่ง:" กล่องของการตั้งค่าระบบ> คีย์บอร์ด> ลัด> ลัดที่กำหนดเอง> + (ทางลัดใหม่) ให้มันชื่อคลิกนำไปใช้แล้วคลิกคอลัมน์ด้านขวาและป้อนคีย์ผสม ( CTRL+SHFT++
และCTRL+SHFT+-
ตามลำดับดูเหมือนตรรกะ) .
คุณสามารถเปลี่ยนที่อยู่ IP /etc/hosts
กับสิ่งที่อยู่ใน สิ่งนี้จะเมานต์เซิร์ฟเวอร์เป็นไดรฟ์ใน Nautilus และคุณสามารถเรียกดูโฟลเดอร์เช่นเดียวกับที่อยู่ในเครื่องคอมพิวเตอร์ของคุณ ใน Windows คุณสามารถเชื่อมต่อโดยใช้ซอฟต์แวร์ FTP (Filezilla เป็นต้น) ฉันไม่ได้ลอง แต่ฉันแน่ใจว่าอาจมีการรวม sFTP ใน Windows Explorer ด้วยเช่นกัน
ข้อดีอีกประการของการเข้าสู่ระบบด้วยคีย์ ณ จุดนี้คือคุณไม่ได้รับแจ้งให้ใส่รหัสผ่านทุกครั้งที่คุณเชื่อมต่อ (เว้นแต่คุณตั้งค่าไว้เพื่อป้องกันรหัส) คุณอาจต้องการตรวจสอบมันหลังจากที่คุณได้ทำงานกับการเข้าสู่ระบบรหัสผ่าน (และก่อนที่จะเปิดมันออกไปข้างนอก)
การเชื่อมต่อจากภายนอก : ขั้นตอนสุดท้ายคือดูว่าคุณสามารถเชื่อมต่อจากอินเทอร์เน็ตเช่นประตูถัดไปหรืออะไรก็ตาม หากคุณไม่ได้มีที่อยู่ ip แบบคงที่สำหรับบ้านของคุณมันอาจเป็นเรื่องยุ่งยากในการติดตามที่อยู่ IP ของคุณ ฉันใช้บริการ dns แบบไดนามิก ( http://afraid.org/เป็นบริการฟรี) เป็นการส่วนตัว แต่คุณอาจพบโซลูชันอื่นที่ดีกว่า จากนั้นคุณจะแทนที่ ipaddress ในคำสั่ง mount ข้างต้นด้วยที่อยู่เว็บแบบไดนามิกซึ่งชี้ไปยังเครือข่ายในบ้านของคุณ
หนึ่งคำแนะนำด้านความปลอดภัยขั้นสุดท้ายเก็บแท็บไว้ในบันทึก SSH ของคุณหากคุณไปเพื่อสิ่งนี้ ( /var/log/auth.log
) เพื่อให้แน่ใจว่าไม่มีอะไรเกิดขึ้น หากคุณพบว่า Fail2Ban เป็นทางออกหนึ่ง ( http://www.fail2ban.org/wiki/index.php/Main_Pageและhttps://help.ubuntu.com/community/Fail2ban ) เพื่อลดความเสี่ยงคุณสามารถเปลี่ยนพอร์ต SSHD เพื่อฟังสิ่งที่ไม่ได้มาตรฐานเช่น 500 และเปลี่ยนกฎการส่งต่อพอร์ตที่สอดคล้องกันในเราเตอร์ของคุณและไฟร์วอลล์ของเซิร์ฟเวอร์ (ทำไม: https://serverfault.com/questions/189282 / Why-change-default-ssh-port ) แม้ว่าฉันจะไม่ได้ทำการทดสอบด้วยตัวgvfs-mount
เอง