Scenario:
Host-a, Host-b are mutully unaccessible for sake of security. Is there a solution of copying a file from the Host-a to Host-b easily?
Answer:
Having a bridge Host-c which can access both Host-a and Host-b

file: example.spy - a file
# duplicating a file
srcfile = '/var/log/message'
dstfile = '/data/hosta/var-log-message'
pwd = 'secret'
# make ssh connection to host-a to download file
$.connect(f'user@host-a',password=pwd)
src,dst = $.download(srcfile)
$.close()
# make ssh connection to host-b to upload file
$.connect(f'user@host-b',password=pwd)
$.upload(dst,dstfile)
$.close()
# remove local copy
$rm dst
# or os.unlink(dst)
file: example.spy - a folder
# duplicating a folder
srcfolder = '/var/log'
dstfolder = '/data/hosta'
pwd = 'secret'
# make ssh connection to host-a to download file
$.connect(f'user@host-a',password=pwd)
$tar -zcf /tmp/varlog.tgz @{srcfolder}
src,dst = $.download('/tmp/varlog.tgz')
$.close()
# make ssh connection to host-b to upload file
$.connect(f'user@host-b',password=pwd)
$.upload(dst,'/tmp/varlog.tgz')
$tar -zxf -C @{dstfolder} /tmp/varlog.tgz
# remove temporary file
$rm /tmp/varlog.tgz
$.close()
# remove local copy
$rm dst
# or os.unlink(dst)
For more about “tar”, please see here.
execute the example.spy on Host-c
$sshscript example.spy
$sshscript example.spy --verbose
$sshscript example.spy --debug
Last Updated: 2026-07-25 16:59:40
Table of contents
- SSHScript v3.1 Documentation
- Accounts (legacy URL)
- Checking the syncing status of two MySQL servers
- Getting Started with SSHScript
- Page not found
- Q: What can it do that Netmiko doesn’t do? (origin)
- SSHScript Documentation
- SSHScript Documents
- SSHScript v2.0 CLI(Draft)
- SSHScript v2.0 Commands Execution and Console
- SSHScript v2.0 Console of sudo and su
- SSHScript v2.0 Getting Started
- SSHScript v2.0 Interactive Commands and Foreground Commands
- SSHScript v2.0 Make Connections
- SSHScript v2.0 Recipes
- SSHScript v2.0 Reference Guide
- SSHScript v2.0 Stdout, Stderr and Exitcode
- SSHScript v2.0 Threading Support
- SSHScript v2.0 Upload and Download Files
- SSHScript v2.0.2 Release Notes
- SSHScript v3.0 Interactive and Foreground Commands
- SSHScript v3.0 Reference Guide
- SSHScript v3.0.0 Release Notes
- SSHScript v3.1
- SSHScript vs. Ansible
- 用 Python 作系統自動化