Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
projects:openssh [2019/12/25 16:33] admin [1.scp run on client (copy remote to local case)] |
projects:openssh [2019/12/25 16:34] (current) admin [1) scp run on client (copy remote to local case)] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== scp ====== | ====== scp ====== | ||
- | ===== Control flow ===== | + | |
==== 1) scp run on client (copy remote to local case) ==== | ==== 1) scp run on client (copy remote to local case) ==== | ||
* construct ''scp'' command to be executed on the server via ssh. append ''-v -r -p -d'' flags as appropriate. Resulting command stored in ''cmd'' variable | * construct ''scp'' command to be executed on the server via ssh. append ''-v -r -p -d'' flags as appropriate. Resulting command stored in ''cmd'' variable | ||
Line 9: | Line 9: | ||
* ''tolocal()->sink()'' receives file from child via ''remin'' & ''remout'' and stores it to the local destination | * ''tolocal()->sink()'' receives file from child via ''remin'' & ''remout'' and stores it to the local destination | ||
* finaly wait for child to finish, check for errors, close ''remin'' & ''remout'' and exit | * finaly wait for child to finish, check for errors, close ''remin'' & ''remout'' and exit | ||
- | ==== On server ==== | + | ==== 2) client runs ssh to spawn server side of scp ==== |
+ | ==== 3) server accepts ssh connection from client ==== | ||
* for ''-t'' or ''-f'' private flags: ''remin = stdin''; ''remout = stdout'' | * for ''-t'' or ''-f'' private flags: ''remin = stdin''; ''remout = stdout'' |