我正在监控一个网站,想知道是否有一种方法可以让我通过 SSH 查看图片,而不是每次都加载网站。
答案1
您还没有说明您是从哪个操作系统连接的。如果您使用的是运行 X 服务器的 *nix,则可以使用 ssh X 转发。这将使您能够在远程服务器上运行图形应用程序并将它们显示在本地计算机上。例如:
ssh -Y user@server
eog pictures/foo.png
假设服务器已经eog
安装,这将导致图像打开并显示在您的屏幕上。
为了将来参考,当在此网站上提问时,最好指定您正在使用的系统,因为正确答案通常取决于它。
答案2
如果您使用的是 OS X,使用 iTerm2,您可以imgcat
在终端中直接执行并显示图像。
答案3
我尝试了本页上其他答案列出的几种方法,并在 Ubuntu 20 和 MacOS Mojave 上都尝试过(我的机器是双启动的)。在这两个系统上,我发现使用-X
带有ssh
然后的标志eog
可以工作,但有点慢且笨重。如果您浏览的是小目录,X-forwarding 可能没问题,但如果您工作的目录中有大量数据,则可能会变得完全无法使用。
我见过的最好的方法是sshfs
。设置起来非常简单,而且我发现它非常灵活。基本上,它将远程文件系统安装为本地驱动器,允许您查看远程文件或在本地运行时和远程主机之间传输文件 - 比更容易、更直观scp
(尽管scp
这是一项有用的技能)。
Ubuntu
我不确定以前的版本,但 Ubuntu 20.04 附带了sshfs
。如果你的 Ubuntu 版本没有它,你可以使用
sudo apt install sshfs
要使用它,您需要一个空目录。我的目录位于我的主目录中,并将其命名为sc
。要设置它,请运行以下命令:
sshfs -o follow_symlinks <user>@<server address>:/ ~/sc
瞧!当您使用文件资源管理器或终端打开时,sc
您会看到远程驱动器已安装。
苹果系统
步骤与 Linux/Ubuntu 的步骤几乎相同。不同之处在于 MacOS 没有预装sshfs
,并且sshfs
还需要一些 MacOS 中未包含的依赖项。因此,首先,我们使用以下命令安装这些依赖项:
brew install osxfuse
现在我们可以安装sshfs
:
brew install sshfs
然后,要安装远程驱动器,您需要创建一个本地空目录 - 我将其称为我的目录sc
,它位于我的主目录中。然后使用以下命令将远程驱动器安装在远程目录中
sshfs -o follow_symlinks <user>@<server address>:/ ~/sc
当您sc
使用您最喜欢的文件资源管理器(例如 MacOS 上的 Finder)打开时,您会在那里找到远程驱动器,其名称可能是OSXFUSE Volume 0...
希望这可以帮助!
答案4
这是计算机视觉研究人员常见的痛点。我创建了一个小脚本(https://github.com/nicodjimenez/ImgView) 我使用它通过 提供远程机器目录中的图像python run.py -d path/to/image/dir/
。然后我使用 ssh 隧道将本地端口转发到我运行服务器的远程端口,然后我只需将我的 Web 浏览器指向我的本地端口即可在本地机器上查看图像(默认情况下)http://0.0.0.0:8000/。这种方法是通过 ssh 查看图像最灵活的方法,因为您可以控制显示的外观。