
Estoy tratando de encontrar la forma más sencilla de cargar un archivo usando ssh y luego ejecutar un comando en la máquina remota dentro de la misma sesión ssh para un posprocesamiento, de modo que no tenga que iniciar sesión nuevamente. La carga debería, si es posible, mostrar algún indicador de progreso.
Hasta ahora examiné scp y rsync, y ambos no son capaces de ejecutar ningún enlace. (Podría usar el --rsync-path
parámetro para ejecutar algún scriptantesrsync) pero quiero hacer un posprocesamiento. ¿Hay alguna forma de abrir una sesión ssh, cargarla, ejecutar un comando y cerrarla nuevamente?
Respuesta1
Bueno, podrías canalizar todo a través de un ssh
comando con a cat
en el otro extremo. Aquí subo un script de shell, lo hago ejecutable y lo ejecuto:
$ cat sayhi.sh | ssh myserver 'cat > ./remotehi.sh ; chmod +x ./remotehi.sh ; ./remotehi.sh'
hello, world!
Respuesta2
Es posible que desee el ControlMaster
mecanismo en ssh
.