คุณจัดการกล่อง Linux ของคุณจากระยะไกลได้อย่างไร [ปิด]


13

หมายเหตุ: ฉันถามคำถามนี้เมื่อเช้านี้เกี่ยวกับกล่อง EC2 แต่ได้รับลิงค์กลับไปยังเครื่องมือเพื่อเริ่มและหยุดอินสแตนซ์ดังนั้นฉันจะใช้ถ้อยคำใหม่ ...

ฉันมีกล่องลีนุกซ์สองสามตัวที่ประมวลผลงานกลางคืนสำหรับหนึ่งในโครงการของฉัน ในบางครั้งฉันจะต้องเข้าไปแก้ไขรหัสบางอย่างกำหนดค่าบางสิ่งย้ายไฟล์ไปมา ฯลฯ

ชุดเครื่องมือของฉันสำหรับการดำเนินการเหล่านี้จะกระจัดกระจายอย่างเจ็บปวด (SSH ลงในกล่องแก้ไขไฟล์ใน VIM, ไฟล์ระยะไกล WGET ที่ฉันต้องการ) และฉันสงสัยว่ามีวิธีที่ดีกว่ามากในการทำ ฉันอยากรู้ว่าคนอื่น ๆ ในตำแหน่งของฉันกำลังทำอะไรอยู่

คุณใช้ระบบ Windowing และ Remote-Desktop เทียบเท่ากับการเข้าถึงกล่องหรือว่าเป็นบรรทัดคำสั่งทั้งหมดหรือไม่ การจัดการกล่อง Windows แบบรีโมทเป็นเรื่องเล็กน้อยเนื่องจากคุณสามารถเดสก์ทอประยะไกลในและถ่ายโอนไฟล์ผ่านเครือข่าย มีสิ่งใดเทียบเท่ากับสิ่งนี้ในโลก Linux หรือไม่

คุณกำลังเปลี่ยนแปลงไฟล์ปรับแต่ง / ปรับแต่งสคริปต์บนเครื่องโดยตรงหรือไม่? หรือคุณมีบางอย่างที่ตั้งค่าไว้ในกล่องโลคัลของคุณเพื่อแก้ไขไฟล์เหล่านี้จากระยะไกล? หรือคุณเพียงแค่แก้ไขจากระยะไกลจากนั้นโอนไปที่การบันทึกแต่ละครั้ง?

คุณจะย้ายไฟล์ไปมาระหว่างเซิร์ฟเวอร์และสภาพแวดล้อมท้องถิ่นของคุณได้อย่างไร FTP? Mapped Drive บางประเภทผ่าน VPN?

ฉันต้องได้รับแนวทางปฏิบัติที่ดีที่สุดเพื่อจัดการกล่องเหล่านี้ ข้อเสนอแนะใด ๆ ที่จะลบความเจ็บปวดจะยินดีมากที่สุด!


อย่าใช้ FTP ใช้ SFTP แทน
Brad Gilbert

หรือดียิ่งขึ้นใช้ FUSE sshfs
Cristian Ciupitu

คำตอบ:


19

ชุดเครื่องมือของฉันสำหรับการดำเนินการเหล่านี้จะกระจัดกระจายอย่างเจ็บปวด (SSH ลงในกล่องแก้ไขไฟล์ใน VIM, ไฟล์ระยะไกล WGET ที่ฉันต้องการ) และฉันสงสัยว่ามีวิธีที่ดีกว่ามากในการทำ ฉันอยากรู้ว่าคนอื่น ๆ ในตำแหน่งของฉันกำลังทำอะไรอยู่

เบาบาง? คุณหมายถึงอะไรบนโลกใบนี้? ขอโทษสำหรับการคุยโว แต่การเลิกทำ ssh, vim และ wget เป็นความเจ็บปวดนั้นเป็นการดูถูกเกือบ จากคำถามของคุณฉันคิดว่าคุณเป็นโปรแกรมเมอร์สำหรับงานกลางวันของคุณดังนั้นฉันจึงเข้าใจคำถาม แต่จริงๆแล้วฉันจะไม่จ้างผู้ดูแลระบบ Linux ที่ไม่พอใจกับเครื่องมือสามอย่างที่คุณกล่าวถึง

คุณใช้ระบบ Windowing และ Remote-Desktop เทียบเท่ากับการเข้าถึงกล่องหรือว่าเป็นบรรทัดคำสั่งทั้งหมดหรือไม่ การจัดการกล่อง Windows แบบรีโมทเป็นเรื่องเล็กน้อยเนื่องจากคุณสามารถเดสก์ทอประยะไกลในและถ่ายโอนไฟล์ผ่านเครือข่าย มีสิ่งใดเทียบเท่ากับสิ่งนี้ในโลก Linux หรือไม่

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

การจัดการกล่องลีนุกซ์เป็นเรื่องไม่สำคัญยิ่งไปกว่าการจัดการกับกล่องวินโดวส์. ใช้เวลาสักครู่เพื่อให้ได้ทักษะที่เหมาะสม

และการถ่ายโอนไฟล์เครือข่ายเทียบเท่า? ความอุดมสมบูรณ์ scp, sftp, ftp, nfs, cifs / smb (โปรโตคอลการแชร์ไฟล์ Windows) และอื่น ๆ

คุณกำลังเปลี่ยนแปลงไฟล์ปรับแต่ง / ปรับแต่งสคริปต์บนเครื่องโดยตรงหรือไม่? หรือคุณมีบางอย่างที่ตั้งค่าไว้ในกล่องโลคัลของคุณเพื่อแก้ไขไฟล์เหล่านี้จากระยะไกล? หรือคุณเพียงแค่แก้ไขจากระยะไกลจากนั้นโอนไปที่การบันทึกแต่ละครั้ง?

ขึ้นอยู่กับสิ่งที่ฉันทำ ส่วนใหญ่สิ่งที่ฉันทำโดยตรงในไฟล์กำหนดค่าบนเครื่อง (สำหรับการพัฒนาและกล่องทดสอบ) จากนั้นฉันดันไฟล์ลงในช่องการกำหนดค่าบนเซิร์ฟเวอร์ดาวเทียมของเราหลังจากนั้นฉันปรับใช้ไฟล์กับเซิร์ฟเวอร์ทั้งหมดโดยตรง (สำหรับกล่องผลิต) ) จริงๆแล้วเสียงเรียกเข้าเป็นสมบัติ นั่นคือเมื่อคุณค้นหาวิธีการใช้อย่างถูกต้อง

คุณจะย้ายไฟล์ไปมาระหว่างเซิร์ฟเวอร์และสภาพแวดล้อมท้องถิ่นของคุณได้อย่างไร FTP? Mapped Drive บางประเภทผ่าน VPN?

scp ตลอดทางและอาจ sftp บางส่วนและฉันขอแนะนำให้คุณทำเช่นกัน ไม่เคยใช้ FTP เพื่อย้ายไฟล์สำคัญ (เช่นไฟล์กำหนดค่า) ผ่านเครือข่ายสาธารณะ ฉันไม่ได้ใช้เครือข่ายที่แมปเพราะอีกครั้งสิ่งที่ฉันต้องการก็คือบนเซิร์ฟเวอร์ หากคุณหมายถึงไฟล์ c และไม่ใช่ไฟล์กำหนดค่าที่นี่ฉันมักจะใช้บางอย่างเช่น svn หรือ git จากนั้นดันการเปลี่ยนแปลงของฉันลงในกล่อง

ฉันต้องได้รับแนวทางปฏิบัติที่ดีที่สุดเพื่อจัดการกล่องเหล่านี้ ข้อเสนอแนะใด ๆ ที่จะลบความเจ็บปวดจะยินดีมากที่สุด!

คุณใช้มันแล้ว: ssh, scp, wget และ vim นั่นไม่ใช่ความเจ็บปวด อาจมีอาการปวดฟันบ้างขณะที่คุณรู้ว่ามันมีพลังแค่ไหน แต่เพื่อให้การเปรียบเทียบ Windows กลับมาฉันรู้สึกว่าถูกขัดขวางอย่างจริงจังเมื่อต้องใช้กล่อง Windows สำหรับคุณมันเป็นวิธีอื่น ๆ มันเป็นสิ่งที่คุณคุ้นเคย ดังนั้นให้เวลาสักครู่แล้วมันจะมาหาคุณ


12

คุณพูดแล้ว ssh, เป็นกลุ่มและ wget ซึ่งเป็นสิ่งจำเป็นและสมบูรณ์แบบ เครื่องมือเพิ่มเติมบางอย่างที่ทำให้ชีวิตง่ายขึ้น:

1. หน้าจอ GNU / byobu

"หน้าจอ GNU เป็นเทอร์มินัลมัลติเพล็กเซอร์ที่อนุญาตให้ผู้ใช้เข้าถึงเซสชันเทอร์มินัลหลาย ๆ อันแยกกันภายในหน้าต่างเทอร์มินัลเดียวหรือเซสชันเทอร์มินัลระยะไกลมันมีประโยชน์สำหรับการจัดการกับโปรแกรมหลายโปรแกรม โปรแกรม." (จากหน้า GNU_Screen บนวิกิพีเดีย)

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

หน้าจอทำงานได้อย่างอิสระจากซอฟต์แวร์ที่คุณใช้เชื่อมต่อกับกล่อง (อยู่บนเซิร์ฟเวอร์) ดังนั้นจึงสามารถใช้งานร่วมกับซอฟต์แวร์ฉาบหรือซอฟต์แวร์ปลายทางอื่น ๆ ได้

บทความนี้แสดงให้เห็นถึงสิ่งดีๆที่คุณสามารถทำได้: http://www.pastacode.de/extending-gnu-screen-adding-a-taskbar/en/

ทางเลือกที่ดีคือ byobu ซึ่งมีการกำหนดค่าไว้ล่วงหน้าอย่างดีในการแจกแจงบางส่วน: http://byobu.co/


2. ผู้บัญชาการเที่ยงคืน

เครื่องมือการเรียกดูแบบกราฟิกที่ใช้คอนโซลสำหรับการดูและจัดการไฟล์และไดเรกทอรี

ยังสามารถทำการถ่ายโอนระยะไกลที่ปลอดภัย มีไคลเอ็นต์ FISH และ FTP ในตัว

ซึ่งหมายความว่าคุณมีหน้าต่างข้อความ 2 ตัวเคียงข้างกันในคอนโซลบรรทัดคำสั่งและอีกกล่องหนึ่งแสดงกล่องรีโมตของคุณและกล่องอื่น ๆ ทุกที่ที่คุณเชื่อมต่อ (ซึ่งอาจเป็นระบบภายในเครื่องของคุณ) จากนั้นคุณสามารถนำทางทั้งระบบไฟล์เคียงข้างกัน ทำเครื่องหมายหรือตรวจสอบแต่ละไฟล์หรือ treeees ไฟล์และคัดลอกหรือย้ายระหว่างตำแหน่ง ปลามีความปลอดภัย FTP ไม่ได้ ทรงพลังและเรียบง่ายสำหรับผู้เริ่มต้น


3. rsync

เพื่อการถ่ายโอนและซิงค์ไฟล์ที่รวดเร็วปลอดภัยและเชื่อถือได้ระหว่างสถานที่ต่างๆ


4. VCS

การใช้ระบบควบคุมเวอร์ชันแบบกระจายเช่นบาซ่าร์ Mercurial หรือ Git เพื่ออัพเดทโค้ด Github หรือ Bitbucket เสนอรหัสโฮสติ้ง commecrcial แต่ไม่จำเป็นคุณสามารถใช้มันอย่างมีประสิทธิภาพในเครื่องของคุณเอง

โจเซฟเคอร์น: คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับวิธีใช้ git สำหรับองค์กรการตั้งค่าระยะไกลได้อย่างไร


5. ไคลเอ็นต์เทอร์มินัล

บนระบบยูนิกซ์ที่มีอยู่แล้วบน Windows คุณสามารถใช้ Putty, Tera Term, Mind Term หรือ Pandora ได้ หรือทำการติดตั้ง cygwin และ ssh จากหน้าต่าง cygwin terminel ไปยังกล่องรีโมต (ซึ่งมีข้อดีมากกว่า แต่นี่เป็นคำถามของสิ่งที่คุณต้องการ)


6. การขุดอุโมงค์และการส่งต่อพอร์ต

มันจะมีประโยชน์ในการส่งต่อบางพอร์ตไปยังเครื่องของคุณอย่างปลอดภัย ตัวอย่างเช่นคุณสามารถส่งต่อพอร์ต mysql TCP 3306 หรือ postgres TCP 5432 และติดตั้งเครื่องมือการจัดการฐานข้อมูลบางอย่างในเครื่อง

คุณสามารถสร้างอุโมงค์จากเครื่อง Windwos ที่มีผงสำหรับอุดรู (หรือบรรทัดคำสั่งโดยใช้ plink น้องเล็ก) โดย cygwin และ Mindterm ยังสามารถทำการส่งต่อพอร์ตได้ หากคุณอยู่ในเครื่องที่เหมือนยูนิกซ์คุณสามารถใช้ ssh odr plink เพื่อสร้างช่องสัญญาณดังกล่าว

เพื่อสร้างช่องทางที่มั่นคงและถาวรขึ้นสำหรับพอร์ตต่างๆฉันแนะนำ OpenVPN วิธีการเจาะช่องสัญญาณ "pre-shared-key" จากจุดหนึ่งไปยังอีกจุดหนึ่งนั้นไม่ยากที่จะติดตั้ง


7. มีระบบเหมือนยูนิกซ์ท้องถิ่น

เมื่อเครื่องของคุณเป็น Mac ที่คุณมีอยู่แล้วคุณสามารถเปิดเชลล์ในเครื่องได้ เมื่อเวิร์กสเตชันของคุณใช้ Windows อาจเป็นประโยชน์ในการสร้างเซิร์ฟเวอร์ยูนิกซ์ที่เหมือนกันซึ่งอยู่ในเครือข่ายท้องถิ่นเดียวกัน นี่อาจเป็นเครื่องที่แตกต่างในห้องอื่นที่เชื่อมต่อกับเราเตอร์หรือสวิตช์เดียวกัน หรือถ้าคุณต้องการเพียงเครื่องเดียวคุณสามารถติดตั้งเซิร์ฟเวอร์ vmware ฟรีและสร้างเครื่องเสมือนโดยเฉพาะอย่างยิ่งระบบปฏิบัติการเดียวกับเครื่องระยะไกลของคุณ ติดตั้งเซิร์ฟเวอร์แซมบ้าบนและคุณสามารถ "ใช้สุทธิ" แซมบ้าแบ่งปันจากเดสก์ท็อปของคุณ

หากคุณเป็นเซิร์ฟเวอร์ ssh บนเซิร์ฟเวอร์ภายในและเปิดพอร์ต 22 บนเราเตอร์ของคุณคุณสามารถ ssh เข้าสู่ระบบในเครื่องของคุณเมื่อคุณอยู่ข้างนอก

คุณสามารถสร้างอุโมงค์ไปยังเครื่องระยะไกลหรือถ่ายโอนและประสานไฟล์และโครงสร้างไฟล์ทั้งหมดด้วย rsync คุณสามารถใช้มันสำหรับการทดสอบสำหรับ VSC เพื่อการพัฒนาท้องถิ่นในฐานะผู้ดูแลเว็บเพื่อการฝึกอบรม

คุณสามารถดึงข้อมูลสำรองจากเครื่องระยะไกล คุณสามารถสร้างงาน cron ในเครื่องที่สำรองข้อมูลโดยอัตโนมัติ (เช่นฐานข้อมูลที่คุณต้องการบันทึกในเครื่องเป็นประจำ)


8. X Remote GUI

หากคุณทำงานบน Linux เช่นระบบทางกายภาพคุณยังสามารถเรียกใช้แอปพลิเคชัน GUI บนเซิร์ฟเวอร์ linux ของคุณซึ่งวาด gui บนเครื่องท้องถิ่นของคุณ นี่อาจเป็นเครื่องมือเปรียบเทียบไฟล์กราฟิกหรือเกือบทุกอย่างที่คุณต้องการ

แม้ว่ามันจะไม่ธรรมดามากและในกรณี msot ไม่จำเป็นต้องใช้ซอฟต์แวร์ gui สำหรับการจัดการกล่อง linux คุณอาจพบว่ามีประโยชน์ในบางกรณี

บนเครื่องรีโมตตรวจสอบให้แน่ใจใน / etc / ssh / sshd_config บรรทัดนี้มีอยู่:

X11Forwarding Yes

รีสตาร์ทเซิร์ฟเวอร์ ssh ด้วย

/etc/init.d/sshd restart

จากนั้นในครั้งต่อไปที่คุณเข้าสู่ระบบด้วย

ssh -X me@remote-box

คุณจะมีอุโมงค์ X ลองติดตั้ง xclock บนเซิร์ฟเวอร์ระยะไกลสำหรับการทดสอบและดำเนินการxclockในเซสชัน ssh ที่ฉันเพิ่งพูดถึง นาฬิกา x แบบง่ายสำหรับจุดประสงค์ในการทดสอบควรปรากฏบน Linux GUI ของคุณ

อาจเป็นไปได้ว่าเป็น Mac หากคุณติดตั้ง X สภาพแวดล้อมแบบโลคัล


9. หากคุณมีกล่องหรืองานที่คล้ายกันมากมายให้ใช้เครื่องมือกำหนดค่าระบบ

หากคุณมีเซิร์ฟเวอร์ฟาร์มหรือทำการปรับใช้ระบบคลาวด์ขนาดใหญ่ที่มีเครื่องซ้ำซ้อนหรือเครื่องอื่น ๆ ที่เหมือนกันหรือคล้ายกันคุณสามารถใช้สิ่งนี้

อาจเป็นไปได้ว่ามันจะไม่สมเหตุสมผลถ้ากล่องส่วนใหญ่เป็นแบบเดี่ยว ๆ หรือมีระบบปฏิบัติการที่แตกต่างกันหรือมีเวอร์ชั่นต่างกัน

มีเครื่องมือหลายอย่าง:


10. ปรับใช้คอนเทนเนอร์แอปพลิเคชันด้วย docker

สิ่งนี้จะไปอีกขั้นหนึ่ง นักเทียบท่าเป็นโครงการโอเพนซอร์ซที่ปรับใช้งานแอพพลิเคชั่นภายในคอนเทนเนอร์ซอฟต์แวร์โดยอัตโนมัติ: https://www.docker.io


11. ใช้ Google Compute Engine พร้อมการจัดการการปรับใช้อัตโนมัติ

https://cloud.google.com/products/compute-engine/

Google ให้บริการ Linux VM ด้วยความเป็นไปได้ที่น่าตื่นเต้นมาก คุณสามารถปรับใช้กลุ่มเครื่องเสมือนขนาดใหญ่ได้อย่างรวดเร็วด้วยเครื่องมือรวมถึง RESTful API อินเตอร์เฟสบรรทัดคำสั่งและคอนโซลบนเว็บ นอกจากนี้คุณยังสามารถใช้เครื่องมือเช่น RightScale และ Scalr การจัดการการใช้งานของคุณโดยอัตโนมัติ


ฉันคิดว่านี่เป็นคำตอบที่มีประโยชน์มากกว่าคำตอบที่ยอมรับได้ MC เป็นเครื่องมือที่ฉันต้องการโดยเฉพาะอย่างยิ่งเนื่องจากช่วยให้คุณสามารถcd /#sh:<user>@<server>:<directory>เข้าสู่เครื่องระยะไกลสำหรับการเรียกดูและถ่ายโอนไฟล์และเนื่องจาก Ctrl-o จะสลับคุณไปที่คอนโซลชั่วคราว Ctrl-o อีกครั้งทำให้คุณกลับมาสู่ MC ด้วยการกดปุ่มเพียงปุ่มเดียว!
กุสตาฟ Bertram

ความสะดวกสบายของการมีเดสก์ท็อป Linux เมื่อจัดการเซิร์ฟเวอร์ Linux ไม่สามารถเกินจริง แม้ว่าฉันจะเห็นการใช้งานเล็กน้อยสำหรับผู้บัญชาการเที่ยงคืน ...
Michael Hampton

@Michael ลูกค้าปลาของ mc คือสิ่งที่ฉันใช้บ่อย
mit

4

หากคุณกำลังมองหา GUI ที่ดีในการทำงานกับการจัดการไฟล์ผ่าน SSH จากกล่อง Windows ให้ดูที่ WinSCP: http://winscp.net

ฉันไม่ได้จัดการอินสแตนซ์ EC2 ใด ๆ แต่โดยทั่วไปถ้าฉันมีมากกว่าหนึ่งเครื่องที่มีบทบาทฉันจะพยายามเขียนสคริปต์เพื่อทำงานบนกล่องที่คล้ายกันทั้งหมดแทนการเปลี่ยนแปลง box-for-box .

ฉันต้องการเริ่มต้นด้วย Puppet ( http://reductivelabs.com/products/puppet/ ) เพราะมันทำให้การบริหารระบบมีส่วนร่วมมากขึ้นในการจัดการการกำหนดค่า ฉันยังไม่มีรอบว่างที่จะดูรายละเอียด แต่ฉันได้ยินสิ่งที่ดีมาก


4

คุณต้องพิจารณาเครื่องมือการจัดการการกำหนดค่าระบบเช่น Chef

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

ขั้นตอนการทำงานพื้นฐานมีลักษณะเช่นนี้ ก่อนอื่นสำหรับรหัสแอปพลิเคชันและข้อมูลการกำหนดค่า:

  • โคลน / รหัสชำระเงินจาก GitHub หรือที่เก็บการควบคุมเวอร์ชันอื่น ๆ
  • แก้ไขรหัสในโปรแกรมแก้ไขที่ฉันโปรดปรานบนเวิร์กสเตชัน / แล็ปท็อป
  • ส่งการเปลี่ยนแปลงส่งไปยังที่เก็บส่วนกลาง

สำหรับการกำหนดค่าเพิ่ม:

  • ติดตั้งไฟล์กำหนดค่าในตำแหน่งที่ Chef สามารถให้บริการได้
  • ทริกเกอร์เรียกใช้ Chef-client หรือรอช่วงเวลาบนโหนดขอบ

ระบบได้รับการกำหนดค่าเช่นการติดตั้งแพ็คเกจการสร้างผู้ใช้ไฟล์กำหนดค่าที่สร้างจากแม่แบบ ฯลฯ

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

ไฟล์ที่ต้องการโดยการกำหนดค่าจะถูกส่งตรงไปยังเซิร์ฟเวอร์ Chef ซึ่งเป็นเพียงเว็บแอปพลิเคชัน (merb ที่ทำงานใน Apache + Passenger) การเข้าถึงสำหรับลูกค้าจะถูกควบคุมผ่านการอนุมัติ openid

การกำหนดค่าของฉันรวมถึง hooks ลงใน Nagios และ Munin ดังนั้นฉันจึงได้รับการติดตามและแนวโน้มโดยไม่ต้องทำอะไรด้วยตนเองเพื่อตั้งค่าเหล่านั้น

แนวปฏิบัติที่เหมาะสมที่สุดในปัจจุบันนี้คือการจัดการการกำหนดค่าอัตโนมัติ หากคุณยังคงทำสิ่งต่างๆด้วยตนเองแสดงว่าคุณทำงานหนักเกินไป


3

เกิดอะไรขึ้นกับ ssh, vim และ wget Jewels ไม่ทราบผู้ใช้ Windows ส่วนใหญ่ในความคิดของฉัน :-)

บางครั้งฉันใช้ gVim จาก FTP หรือ SFTP จากระยะไกล

หากคุณต้องการใช้ GUI บนเครื่อง Linux คุณสามารถเรียกใช้ X Server (ดู Cygwin สำหรับหนึ่ง) บนโฮสต์ในพื้นที่ของคุณและส่งต่อการแสดงผลของคุณผ่านการเชื่อมต่อ ssh ของคุณ

ฉันไม่เคยพิจารณาโซลูชัน VPN ที่คุ้มค่ากับความยุ่งยากในการบริหารจัดการ Linux

หากคุณกำลังพัฒนาและจำเป็นต้องเรียกใช้งาน dev บนเซิร์ฟเวอร์เพียงตั้งค่าไคลเอ็นต์ตัวควบคุมการแก้ไขบนเซิร์ฟเวอร์ล็อกอินจากระยะไกลซิงค์ไคลเอ็นต์และเรียกใช้กระบวนการของคุณ


3

การจัดการกล่อง Windows แบบรีโมทเป็นเรื่องเล็กน้อยเนื่องจากคุณสามารถเดสก์ทอประยะไกลในและถ่ายโอนไฟล์ผ่านเครือข่าย มีสิ่งใดเทียบเท่ากับสิ่งนี้ในโลก Linux หรือไม่

การหมุนรอบนี้ตั้งใจหรือไม่

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

นี่เป็นข้อมูลเล็ก ๆ น้อย ๆ แต่จากประสบการณ์ของ บริษัท ต่าง ๆ อัตราส่วนเซิร์ฟเวอร์ต่อผู้ดูแลระบบสำหรับกล่อง linux นั้นสูงกว่า Windows มาก เนื่องจากระบบอัตโนมัติบน windows นั้นไม่สำคัญและ gui จะช้ากว่าการเขียนสคริปต์เสมอ ต้องบอกว่ามีผู้ดูแลระบบ windows ที่สามารถดูแลโครงสร้างพื้นฐานของ windows ให้เป็นเรื่องง่ายในการจัดการ แต่ผู้ดูแลระบบเหล่านี้หายากมาก

เครื่องมือทั้งหมดที่คุณต้องการจะมีให้เป็นค่าเริ่มต้นในทุก ๆ ลินุกซ์ distro หากคุณต้องการเข้าสู่ระบบแบบกราฟิกไปข้างหน้าและทำเช่นนั้นเพียงแค่เสีย CPU และหน่วยความจำและจะให้ปัญหาเดียวกับที่คุณมีกับ Windows และตามที่ได้กล่าวไปแล้วสำหรับกล่องมากกว่าหนึ่งกล่องคุณควรพิจารณาหุ่นเชพเชฟ cfengine หรือเครื่องมืออื่น ๆ อีกมากมายที่มีให้


1
ฉันหมายถึง Trivial ในแง่ที่ว่าประสบการณ์การจัดการกล่อง windows ระยะไกลนั้นเหมือนกับที่อยู่บนเดสก์ท็อปของฉัน ไม่จำเป็นต้องเรียนรู้ การทำงานกับ SSH ทำให้ฉันรู้สึกเหมือนกำลังสร้างเรือในขวด คุณมีรูเล็ก ๆ ซึ่งคุณสามารถสัมผัสเซิร์ฟเวอร์ด้วยแหนบยาว ฉันประหลาดใจจริงๆที่พบว่าพวกคุณทุกคนใช้จริงและสนุกกับเครื่องมือบรรทัดคำสั่งที่ฉันใช้อยู่ ฉันแค่คาดหวังว่าจะพบชุดเครื่องมือมากมายที่ฉันมองข้ามไป
Jason Kester

2

คุณบอกว่าคุณกำลังใช้ SSH เพื่อจัดการกล่อง "ไม่กี่" ฉันอยากจะแนะนำ ClusterSSH สำหรับการเขียนคำสั่งเดียวกันกับพวกเขาทั้งหมดในครั้งเดียว (สมมติว่าพวกเขามีวัตถุประสงค์ที่คล้ายกัน)

http://www.linux.com/learn/tutorials/413853:managing-multiple-linux-servers-with-clusterssh

การใช้งานนั้นง่ายดายเหมือน "cssh -l username clustername" ซึ่งจะเปิดหน้าต่าง uxterm จำนวนมากที่คุณสามารถจัดการทั้งหมดได้ในคราวเดียวหรือแยกกัน Cluster ถูกกำหนดโดยรายการของ IP ในไฟล์ปรับแต่ง สิ่งเดียวที่ขาดหายไปคือการรองรับ X เท่าที่ฉันรู้

แก้ไข: ฉันได้ย้ายไปยัง Terminator เนื่องจากรูปแบบหลายเทอร์มินัลสามารถบันทึกและเรียกคืนได้อย่างง่ายดายรวมทั้งคุณจะได้อุโมงค์ X 10 ช่องพร้อมกันหากจำเป็น ทำให้การกำหนดค่าคอมพิวเตอร์เซิร์ฟเวอร์และไคลเอนต์ในเวลาเดียวกันเป็นเรื่องง่าย

นอกจากนี้เนื้อผ้ายังมีประโยชน์เมื่อทำการอัปเดตซอฟต์แวร์ให้กับลูกค้าของฉันโดยทั่วไปแทนที่สิ่งที่เป็นไฟล์ zip / scp / unzip / cp


1

ฉันใช้:

  • SSH - สำหรับการเข้าถึง
  • SCP - กำลังคัดลอกไฟล์
  • SSHFS - ถ้าฉันต้องการติดตั้งไดรฟ์หรือไดเรกทอรี
  • git - บันทึกการกำหนดค่า

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

ปัจจุบัน repos คอมไพล์ของฉันทั้งหมดเป็นของท้องถิ่น ในอนาคตฉันจะย้ายการกำหนดค่าไปยัง repos ระยะไกล



0

SSH เพียงพอสำหรับฉันเสมอ มีตัวเลือกอื่น ๆ X11 เป็นเดสก์ท็อประยะไกลเป็นหลักแม้ว่ามันจะไม่ปลอดภัยโดยเนื้อแท้เพราะมันไม่ได้เข้ารหัส อย่างไรก็ตามสามารถถ่ายทอดผ่านการเชื่อมต่อ SSH (และคุณจะได้รับประโยชน์จากการไม่ต้องเปิดพอร์ตเพิ่มเติม) แน่นอนว่าคุณมีสภาพแวดล้อม X ติดตั้งอยู่บนเซิร์ฟเวอร์

SFTP (ซึ่งเป็น ftp บน SSH ดังนั้นไม่จำเป็นต้องเปิดพอร์ตเพิ่มเติมอีกครั้ง) สามารถใช้เพื่อวางไฟล์บนเซิร์ฟเวอร์แทนที่จะดึงพวกเขาไคลเอนต์ windows sftp ที่ดีสามารถพบได้ที่http://filezilla-project.org/


0

ฉัน ssh ไปที่กล่องและทำการเปลี่ยนแปลงในบรรทัดคำสั่งและกับบรรณาธิการเช่น vi / nano เมื่อการเปลี่ยนแปลงเป็นเรื่องง่าย สำหรับการเปลี่ยนแปลงไฟล์ที่ซับซ้อนยิ่งขึ้นเช่นการแก้ไขซอร์สโค้ดหลายรายการในเวลาเดียวกันฉันใช้ BBEdit บน Mac OS X ซึ่งสามารถเข้าถึงระบบไฟล์โดยใช้ SCP ฉันแน่ใจว่ามีตัวแก้ไขสำหรับ windows และ linux sshfsเป็นวิธีการเข้าถึงระบบไฟล์ของคุณจากระยะไกลโดยใช้ ssh


0

ฉาบแน่นอน; เช่นเดียวกับไคลเอนต์ ssh มีลูกค้า SCP ที่ใช้ Windows เช่นกัน


0

Command-line over ssh สำหรับ linux (เนื่องจากไม่ได้ติดตั้งแม้แต่ X11) และการผสมผสานของ ssh และ ARD สำหรับเครื่อง Apple ของฉัน

โปรดทราบว่าผมไม่เคยใช้แอปเปิ้ล Remote Desktop ในการถ่ายโอนไฟล์เพราะเอเอฟพีผ่าน TCP เป็นขันช้า ; scpฉันเพียงแค่ใช้


0

หากคุณต้องการเข้าถึงกราฟิกระยะไกลคุณเกือบจะต้องการตั้งค่า VNC แน่นอน

หากคุณต้องการแก้ไขไฟล์จากระยะไกลผ่าน SSH คุณมีตัวเลือกดังนี้:

  • หากคุณใช้เครื่องมือ KDE (Kate, KDevelop) ให้ใช้โปรโตคอลปลา
  • ตั้งค่า FUSEเป็น (อัตโนมัติ) เมานต์ปรับระดับเสียงระยะไกลของคุณ
  • ใช้muCommander (ข้ามแพลตฟอร์มกราฟิกmc) เพื่อย้ายไฟล์ของคุณไปมา
  • โปรแกรมแก้ไขข้อความบางตัว (เช่น TextWrangler บน Mac) รองรับการรับไฟล์ผ่าน ssh และย้ายไปมา

หลังจากที่คุณแก้ไขไฟล์ของคุณแล้วให้ใช้ SSH เพื่อพูดเริ่มการรวบรวม

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


0

SSH ทำงานได้เกือบตลอดเวลา การเรียนรู้เครื่องมือบรรทัดคำสั่งที่มีให้สำหรับคุณนั้นคุ้มค่ากับเวลาของคุณ หากมีเครื่องมือ GUI ฉันต้องการใช้ฉันเพียงแค่ใช้VNC

สำหรับการย้ายไฟล์รอบ ๆ ฉันมักจะเมาท์ CFIS / SAMBA share กับเครื่องของฉัน


0

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

ฉันชอบใช้Bcfg2แต่PuppetและCFEngineก็เป็นที่นิยมเช่นกัน

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



0

การจัดการระบบ Windows นั้น "หนัก" เสมอนั่นคือจำเป็นต้องมีสภาพแวดล้อมของหน้าต่างที่สมบูรณ์ซึ่งจำเป็นต้องมีทั้งในสถานที่หรือแอปพลิเคชันที่มีเครือข่ายหนักเช่น Remote Desktop หรือ VNC

UNIX ได้รับการออกแบบโดยคำนึงถึงระบบเครือข่ายดังนั้นเครื่องมือจึงได้รับการออกแบบมาเพื่อทำงานผ่านเครือข่ายไม่ใช่เพื่อให้ดูสวย เซิร์ฟเวอร์ UNIX ไม่ควรตั้งค่าสภาพแวดล้อมหน้าต่างนั้น (โดยปกติ X11)

อินเทอร์เฟซที่เรียบง่ายของ SSH, wget และ vim นั้นเอื้อต่อเครือข่ายมากขึ้น - ในความเป็นจริงแล้วออกแบบมาเพื่อทำงานบนสายโมเด็ม 300baud

มีเครื่องมือกราฟิกที่จะช่วยให้คุณทำงานกับระบบ UNIX และ Linux ระยะไกล (wsp คือหนึ่ง; gvim อาจเป็นอีกระบบหนึ่ง)

วิธีปกติในการดูแลระบบ UNIX คือการล็อกอินเข้าสู่เครื่องและทำงานกับเครื่องเอง ไม่จำเป็นต้องย้ายไฟล์ไปรอบ ๆ เพื่อแก้ไข สิ่งเดียวที่ต้องจำไว้คือการทำให้แน่ใจว่าการกำหนดค่านั้นดีและทดสอบเมื่อเป็นไปได้


0

เข้าถึง SSH, SCP หากฉันต้องการโอนไฟล์ในจำนวน จำกัด ใช้ไดเรกทอรีร่วมกันผ่าน SMBFS / SAMBA หากเราต้องการจริงๆ โดยทั่วไปแล้วจะเสียเวลา พนักงานที่มีความสามารถน้อย * ของเราบางคนใช้ webmin ที่ถูกล็อคเพื่อเข้าถึงเครือข่ายย่อยในท้องถิ่นผ่าน HTTPS


0

Shellinabox

Shell In A Box (ออกเสียงเป็น shellinabox) เป็นโปรแกรมจำลองเว็บไซต์ที่สร้างโดย Markus Gutschke มีเว็บเซิร์ฟเวอร์ในตัวที่ทำงานเป็นไคลเอนต์ SSH บนเว็บในพอร์ตที่ระบุและแจ้งให้คุณจำลองเว็บเทอร์มินัลเพื่อเข้าถึงและควบคุมเซิร์ฟเวอร์ Linux เชลล์ SSH ของคุณจากระยะไกลโดยใช้เบราว์เซอร์ที่เปิดใช้งาน AJAX / JavaScript และ CSS ปลั๊กอินของเบราว์เซอร์เพิ่มเติมใด ๆ เช่น FireSSH - http://www.tecmint.com/shell-in-a-box-a-web-based-ssh-terminal-to-access-remote-linux-servers/

การจำลองเทอร์มินัลที่ไคลเอ็นต์

AjaxTermเป็นโปรแกรมที่คล้ายกับAnytermโดย Antony Lesuisse เขียนด้วย Python Shell In A Boxเป็นโปรแกรมที่คล้ายกับ Anyterm โดย Markus Gutschke เขียนใน C. ซึ่งแตกต่างจาก Anyterm และ Ajaxterm มันทำการจำลองเทอร์มินัลในเบราว์เซอร์ไม่ใช่เซิร์ฟเวอร์ - http://anyterm.org/demos.html#secid2249226

บัตเตอร์ฟลายยังเป็นเว็บเซิร์ฟเวอร์ (เขียนด้วยภาษาไพ ธ อน) ซึ่งให้ความสำคัญกับฝั่งไคลเอ็นต์ที่มีคุณลักษณะเต็มรูปแบบเทอร์มินัลเว็บ


1
nooooo !! เชลล์ในกล่องเป็นเช่นนั้นไม่ปลอดภัย!
ewwhite

คุณเคยใช้ Butterfly มาก่อนหรือไม่?
Pegues
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.