我有以下配置:
P == U ---------------- W
P 是 HP Laserjet,连接到 U,U 是一台 Ubuntu 10.04 台式机,带有来自 live cd 的标准 gnome 设置。我刚刚在 gnome 打印机管理中选择了 HP Laserjet,它就可以正常工作了,我可以在本地打印。
W 是一台远程 Windows 机器,服务器 2003,--- 是一个不受信任的连接。
我想知道我是否可以在 U 和 W 之间创建一个 ssh 隧道,这样 W 就可以使用 U 的打印机服务进行打印。我需要转发哪些端口,然后在 Windows 机器上必须添加哪种打印机?
编辑:我发现我可以去http://本地主机:631/在 U 机器上,有 CUPS 浏览器 GUI。我将尝试将端口 631 转发到 W,并在 W 上添加打印机,如http://localhost:631/printers/hp
答案1
嗯...我想说你可以打开ssh
你的 U 机然后发出必要的lp
命令lpr
。这有点 DIY 风格,但如果已经配置了 ssh,则无需打开任何端口。
也许这会起作用,从命令行:
cat yourfile.pdf | ssh user@yourubuntumachine lpr
但也许有更快捷的方法...让我们看看其他人怎么说。
答案2
我找到了这个“如何做”。我认为它可以成为你的解决方案。
摘自该文章:
将本地打印机端口转发到远程打印机:
ssh -R127.0.0.1:9100:remote_printer_ip_address:9100
连接已转发的远程盒本地端口;换句话说,假装那
127.0.0.1
是您的打印机。
答案3
如果您安装了 FreeNX 服务器,您实际上可以通过 ssh 服务器的协作以视频模式访问该盒子。
这将帮助您实际查看文件:)并执行操作。
但这会使事情变得更加冗长。
答案4
最后,我将端口 631 转发到 Windows 机器。当我转到 localhost:631 时,我可以在 Windows 机器的浏览器中访问 cups 界面。我可以添加打印机,例如http://localhost:631/printers/hp使用windows系统的添加打印机对话框。
我正在使用 autossh 来转发端口,因此 ssh 连接更加稳定。