添加远程ssh打印机作为本地打印机

我有SSH访问远程主机(FreeBSD)的打印机设置。 我没有对该主机或任何其他特殊用户权限的root访问权限。 现在我想直接从我的笔记本电脑上打印(Ubuntu 10.10)。 问题是我不知道如何“导入”或打印机,因为它需要从我的用户帐户(打印配额限制)的authentication。 通过电子邮件将我想要打印的文件或每次扫描的文件发送给我都是一件痛苦的事,ATM我手动将PostScript输出传送到ssh命令,但这也是一个巨大的工作开销。 例如,当我想打印一个foo.pdf

pdftops'/path/to/foo.pdf' – | ssh user @ remotehost'lpr -P printername'

那么,有没有人知道一个简单的方法来缩短这个程序? 理想情况下,我只想使用printername而不是整个ssh命令

为什么pipe道巨大的开销? 由于打字?

只要把你的命令放在一个小脚本/函数/别名中,并创build一个无密码的ssh密钥,并将公共部分添加到远程〜/ .ssh / authorized_keys中,这可能会变得更容易。

您也可以使用带密码的ssh密钥并使用caching密码

ssh-add ~/.ssh/your_private_key 

所以你有一个密码的安全密码,但不必每次都input。

另一种方法是创buildssh隧道到正确的端口。 ssh -L …会做到这一点,阅读人ssh。 您还可以使用LocalForward将此隧道添加到〜/ .ssh / config中,以便与已定义的此端口隧道build立连接。

我还没有尝试过这个特定的脚本,但我的解决scheme就像这样的SSH-LPR后端CUPS: http : //www.masella.name/technical/sshlpr.html

这个想法是设置一个本地的CUPS打印机,使用这个后端来处理SSH传输。 这将涉及到设置SSH公钥/私钥和CUPS一点点,但结果将是一个“本地”的打印机与SSH无缝幕后处理。