如何通过ssh打印?

mit*_*mit 5 ssh remote-access tunnel printing

我有以下配置:

P == U ---------------- W
Run Code Online (Sandbox Code Playgroud)

P 是一台 HP Laserjet,连接到 U,这是一台 Ubuntu 10.04 台式机,带有来自 live cd 的标准 gnome 设置。我刚刚在 gnome 打印机管理中选择了 HP Laserjet 并且它工作正常,我可以在本地打印。

W 是远程 Windows 机器,server 2003,而 --- 是不受信任的连接。

我想知道是否可以在U和W之间创建一个ssh隧道,以便W可以使用U的打印机服务进行打印。我需要转发哪些端口以及我必须在 Windows 机器上添加什么样的打印机?


编辑:我发现我可以在 U 机器上访问http://localhost:631/并且有 CUPS 浏览器 gui。我将尝试将端口 631 转发到 W,并在 W 上添加打印机,如http://localhost:631/printers/hp

lur*_*uri 8

嗯...我会说你可以ssh你的 U 机器,然后发出必要的lplpr命令。有点DIY,但是如果ssh 已经配置好了,就不需要打开任何端口了。

也许这会起作用,从命令行:

cat yourfile.pdf | ssh user@yourubuntumachine lpr
Run Code Online (Sandbox Code Playgroud)

但也许有更快的方法...让我们看看其他人怎么说。

  • 或者,没有 cat:ssh user@yourubuntumachine lpr < yourfile.pdf (3认同)

hhl*_*hlp 3

我找到了这个“如何做”。我认为这可以是你的解决方案

HOWTO 通过 ssh 访问远程打印

摘自那篇文章:

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

    ssh -R127.0.0.1:9100:remote_printer_ip_address:9100
    
    Run Code Online (Sandbox Code Playgroud)
  2. 连接已转发的远程盒子本地端口;换句话说,假设那127.0.0.1是您的打印机。