如何使用 Web 界面远程管理 CUPS?

如何使用 Web 界面远程管理 CUPS?

我的公寓里有一台 Ubuntu 服务器,而且我刚刚买了一台打印机,所以是时候分享了!

过去,我在桌面上使用过 CUPS,只需将浏览器指向 localhost:631 即可进行设置。我可以远程使用基于 Web 的管理工具吗?

我一直在使用该/etc/cups/cupsd.conf文件,目前我可以将 LAN 上的浏览​​器指向 server-ip:631,但我收到了 403 Forbidden 错误。

如果出于安全原因而无法允许 CUPS 远程管理员访问,或者这不是一个好主意,那么是否可以使用到服务器的 SSH 隧道来实现这一点?

答案1

我发现这种方法更简单。

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

它将更新/etc/cups/cupsd.conf文件并为您重新启动 cups,并在同一文件夹中保存以前配置的备份。

这与官方 CUPS 中介绍的方法类似打印机共享指南--remote-admin。我在 中找到了选项man cupsctl

答案2

我通常实现此目的的方法是通过任意端口通过 ssh 建立隧道:

ssh [email protected] -T -L 3631:localhost:631

安全,并允许远程访问。虽然不能解决所有问题,但对于不定期访问很有用。

答案3

任务完成!这页面帮了我很多忙

我所要做的就是将“允许所有”添加到对服务器和管理页面的访问中,这样我的配置现在看起来像这样:

# 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>

答案4

打开2个终端

以 root 身份编辑 /etc/cups/cupsd.conf

sudo nano /etc/cups/cupsd.conf

在第二个终端获取IP

hostname -I

编辑 /etc/cups/cupsd.conf 并让服务器监听本地 ip,192.168.1.111用上面的命令替换

Listen localhost:631
Listen 192.168.1.111:631

在第二个终端中获取子网掩码

ip addr show | grep "inet " | grep -v "127.0.0.1" | awk '{print $2}' | cut -d'/' -f1 | cut -d'.' -f1-3 | sed 's/$/.*/'

编辑 /etc/cups/cupsd.conf 并添加192.168.1.*上面的子网掩码替换。

<Location />
  Order allow,deny
  Allow @LOCAL
  Allow from 192.168.1.*
</Location>

<Location /admin>
  Order allow,deny
  Allow @LOCAL
  Allow from 192.168.1.*
</Location>

退出并保存 /etc/cups/cupsd.conf 然后重启 cups 服务器

sudo systemctl restart cups.service

转到http://192.168.1.111:631/您的网络浏览器(将 IP 替换为 的结果hostname -I)并设置您的打印机。

相关内容