我的公寓里有一台 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
)并设置您的打印机。