คุณจัดการ CUPS จากระยะไกลโดยใช้เว็บอินเตอร์เฟสได้อย่างไร


44

ฉันมีเซิร์ฟเวอร์อูบุนตูในอพาร์ทเมนต์ของฉันและฉันเพิ่งได้รับเครื่องพิมพ์ดังนั้นมันถึงเวลาที่จะแบ่งปัน!

ในอดีตที่ผ่านมาฉันใช้ CUPS บนเดสก์ท็อปของฉันและฉันเพิ่งชี้เบราว์เซอร์ไปที่ localhost: 631 เพื่อตั้งค่าต่างๆ ฉันสามารถใช้เครื่องมือผู้ดูแลระบบทางเว็บจากระยะไกลได้หรือไม่

ฉันได้เล่นกับ/etc/cups/cupsd.confไฟล์และตอนนี้ฉันสามารถนำเบราว์เซอร์บน LAN ของฉันไปยังเซิร์ฟเวอร์ -ip: 631 แต่ฉันได้รับข้อผิดพลาดที่ต้องห้าม 403

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

คำตอบ:


45

ฉันพบวิธีนี้ให้ง่ายขึ้น

# cupsctl --remote-admin --remote-any --share-printers

มันจะอัปเดต/etc/cups/cupsd.confไฟล์และรีสตาร์ทถ้วยสำหรับคุณบันทึกการสำรองข้อมูลของการกำหนดค่าก่อนหน้าในโฟลเดอร์เดียวกัน

มันคล้ายกับวิธีการที่นำเสนอในถ้วยอย่างเป็นทางการให้คำแนะนำในการใช้เครื่องพิมพ์ร่วมกัน ผมพบว่าตัวเลือกใน--remote-adminman cupsctl


5
เป็นเรื่องน่าเศร้าที่เห็นคนจำนวนมากเรียกดู / อ้างอิงเอกสารเฉพาะการแจกจ่ายบล็อกและแหล่งข้อมูลอื่น ๆ แทนที่จะเป็นความช่วยเหลือออนไลน์ CUPS : /
basilikode

1
ใช้วิธีที่แนะนำเสมอก่อน! พวกเขาทำซอฟต์แวร์!
FreeSoftwareServers

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

1
ฉันต้องทำsudo service cups restartหลังจากนี้ แต่แล้วก็ใช้งานได้! :) (เดเบียน 10 32 บิต)
hanshenrik

ไม่จำเป็นต้องรีสตาร์ทสำหรับฉัน Debian 8,9 และ Arch
eri

31

วิธีที่ฉันประสบความสำเร็จตามปกตินี้คือการเจาะผ่าน ssh ผ่านพอร์ตที่กำหนดเอง:

ssh admin@10.36.8.43 -T -L 3631:localhost:631

ปลอดภัยและอนุญาตให้เข้าถึงจากระยะไกล จะไม่แก้ปัญหาทั้งหมด แต่มีประโยชน์สำหรับการเข้าถึงที่ผิดปกติ


2
เคล็ดลับนี้ยอดเยี่ยม: โดยไม่ต้องเปลี่ยนอะไรกับการกำหนดค่าถ้วยคุณสามารถจัดการถ้วยอย่างปลอดภัย
gerlos

-Tตัวเลือกที่ไม่จำเป็นจริงๆ; มันจะป้องกันการสร้างเทอร์มินัลเซสชัน ปล่อยไว้หากคุณต้องการเซสชันเทอร์มินัลด้วยเหตุผลบางประการ
user149408

30

ภารกิจสำเร็จแล้ว! นี้หน้าช่วยให้ฉันออกมาก

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

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
  Allow all
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>

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

แก้ไข: เพื่ออนุญาตเฉพาะคอมพิวเตอร์บางเครื่องฉันสามารถทำสิ่งที่ต้องการ

<Location /admin>
      Order allow,deny
      Allow from 10.10.10.5
</Location>

หรือซับเน็ตทั้งหมด 10.10.10

<Location /admin>
      Order allow, deny
      Allow from 10.10.10.*
</Location>

2
ดูเพิ่มเติมที่: help.ubuntu.com/10.04/serverguide/C/cups.html
Jorge Castro
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.