Ich überwache eine Website und möchte wissen, ob es eine Möglichkeit gibt, die Bilder über ssh anzuzeigen, anstatt die Website jedes Mal zu laden.
Ich überwache eine Website und möchte wissen, ob es eine Möglichkeit gibt, die Bilder über ssh anzuzeigen, anstatt die Website jedes Mal zu laden.
Antworten:
Sie haben nicht angegeben, von welchem Betriebssystem aus Sie eine Verbindung herstellen. Wenn Sie ein * nix verwenden, auf dem ein X-Server ausgeführt wird, können Sie die ssh X-Weiterleitung verwenden. Auf diese Weise können Sie grafische Anwendungen auf dem Remote-Server ausführen und auf dem lokalen Computer anzeigen lassen. Zum Beispiel:
ssh -Y user@server
eog pictures/foo.png
Vorausgesetzt, der Server ist eog
installiert, sollte dies dazu führen, dass das Bild geöffnet und auf Ihrem Bildschirm angezeigt wird.
Wenn Sie auf dieser Site Fragen stellen, ist es eine gute Idee, das von Ihnen verwendete System als zukünftige Referenz anzugeben, da die richtige Antwort häufig davon abhängt.
Wenn Sie unter OS X arbeiten und iTerm2 verwenden, können Sie imgcat
das Bild direkt im Terminal anzeigen.
ssh
eine entfernte Maschine betreten haben ?
imgcat
Wäre ein Bild von einer Katze nicht passender?
Dies ist ein häufiger Schmerzpunkt bei Forschern der Bildverarbeitung. Ich habe ein winziges Skript ( https://github.com/nicodjimenez/ImgView ) erstellt, mit dem ich Bilder in einem Verzeichnis auf einem Remotecomputer über bereitstelle python run.py -d path/to/image/dir/
. Dann verwende ich ssh-Tunneling, um einen lokalen Port an den Remote-Port weiterzuleiten, auf dem der Server ausgeführt wird. Anschließend zeige ich die Bilder auf meinem lokalen Computer an, indem ich meinen Webbrowser auf meinen lokalen Port weise ( standardmäßig http: //0.0) 0,0: 8000 / . Dieser Ansatz ist für die Anzeige von Bildern über ssh am flexibelsten, da Sie das Erscheinungsbild der Anzeige steuern können.
python -m SimpleHTTPServer
. Auch wenn sich Ihr lokaler Computer und Server in einem VPN befinden, muss kein SSH weitergeleitet werden.
python -m http.server
. Dient zum Bereitstellen aller Dateien im aktuellen Ordner.
Im Allgemeinen können Sie die Mediendaten, z. B. Bilder, auf Ihren lokalen Desktop oder das SSH-Terminal selbst übertragen, wenn Sie Medien anzeigen können:
Unter Linux können Sie die ssh-Ausgabe umleiten. Mit Hilfe eines Bildbetrachters, der von der Standardeingabe lesen kann (siehe Gibt es einen Bildbetrachter, der Bilder auf STDIN aufnimmt? ) Und der Unix-Pipe |
erhalte ich:
ssh remote_host "cat /remote/path/to/image" | display
PS: Hierfür ist das Anzeigeprogramm von ImageMagick auf dem lokalen Host erforderlich. Der Befehl zwischen Anführungszeichen wird von ssh auf dem Remote-Host ausgeführt. Oder für andere Bildbetrachter (hier Gnome eog image viewer):
FIFO=$(mktemp -u);
ssh remote_host "cat /remote/path/to/image" > "$FIFO";
eog "$FIFO" && rm "$FIFO";
Wenn Sie den Pfad der Bilder haben, wie Frank Thomas sagte, können Sie sie herunterladen und in einem Bildbetrachter über scp oder vielleicht sftp öffnen, wenn Sie Zugriff haben. Wenn Sie Linux verwenden, können Sie die Bilder mit einem Wget versehen, aber natürlich können Sie sie nicht in einer Shell öffnen. Wenn Sie also nur mit einer Shell arbeiten, sollten Sie sie herunterladen.
Sie können auch verwenden sshfs
, wenn Sie unter Linux sind.
sshfs
Sie einfach das Remote-Dateisystem mounten und es verhält sich so, als ob sich die Dateien auf Ihrem Computer befinden. Sie müssen nichts herunterladen ...
Ich benutze thunar
(ein Dateimanager, der auch mit nautilus
und wahrscheinlich mit anderen zusammenarbeitet), um solche Dinge zu tun.
Wenn Sie die Adresse eingeben:
sftp://user@ip:port/
Es wird eine Verbindung über hergestellt ssh
(optional wird nach einem Passwort / einer Passphrase gefragt) und das Dateisystem wird visuell angezeigt, sodass Sie die Bilder mit einem Viewer öffnen können (z. B. gpicview
oder eog
, eog
in diesem Fall erwies es sich jedoch als langsam).
Sie können einen Netzwerkspeicher in Ihrem Systemdatei-Explorer hinzufügen: