Ein Einzeiler? Nicht über meinen Kopf. Sie müssen zuerst einen Proxy einrichten und können dies nicht mit scp selbst tun.
Wenn ich es manuell mache, öffne ich eine Bildschirmsitzung für meinen Tunnel:
screen -S tunnel
Screen wird verwendet, um den Tunnel in einer Hintergrund-Shell laufen zu lassen. Verwenden Sie eine beliebige Technik, um den Tunnel im Hintergrund offen zu halten (die Antwort von @ weeheavy ist wahrscheinlich die einfachste). Einmal in der Screen Session starte ich meinen Tunnel so
ssh -L 2222:target.machine:22 [user@]proxy.machine
Um das aufzuschlüsseln, heißt es im Grunde: "Auf meinem lokalen Computer öffnen Sie Port 2222 und alle Verbindungen, die localhost: 2222 treffen, werden über proxy.machine an target.machine: 22 weitergeleitet."
Sobald Sie die SSH-Verbindung und den Tunnel hergestellt haben, trennen Sie die Bildschirmsitzung mit "Ca d". Geben Sie ein, um zu dieser Bildschirmsitzung zurückzukehrenscreen -raAd tunnel
Sobald Sie wieder in Ihrer ursprünglichen Shell sind, wird Ihr scp-Befehl so aussehen
scp -P 2222 localhost:your/file/on/target.machine local/path
Denken Sie daran, dass der localhost-Port 2222 wirklich nur ein Tunnel ist, der zur target.machine führt.