如何通过 ssh 打印?

如何通过 ssh 打印?

我有以下配置:

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 访问进行远程打印

摘自该文章:

  1. 将本地打印机端口转发到远程打印机:

    ssh -R127.0.0.1:9100:remote_printer_ip_address:9100
    
  2. 连接已转发的远程盒本地端口;换句话说,假装那127.0.0.1是您的打印机。

答案3

如果您安装了 FreeNX 服务器,您实际上可以通过 ssh 服务器的协作以视频模式访问该盒子。

这将帮助您实际查看文件:)并执行操作。

但这会使事情变得更加冗长。

答案4

最后,我将端口 631 转发到 Windows 机器。当我转到 localhost:631 时,我可以在 Windows 机器的浏览器中访问 c​​ups 界面。我可以添加打印机,例如http://localhost:631/printers/hp使用windows系统的添加打印机对话框。

我正在使用 autossh 来转发端口,因此 ssh 连接更加稳定。

相关内容