通过SSH自动同步文件或目录:sshync
xdld
9年前
通过SSH自动同步文件或目录,使用 fs.watch().
配有一个极好的工具sshpair生成一个公共SSH密钥。
echo -e "y\n" | ssh-keygen -q -N "" -f ~/.ssh/sshync
and writes the result to~/.ssh/authorized_keyson the remote host. This prevents the password prompt from showing up every time we sync.
Ignore paths by adding them, one per line, to a file named.sshyncignorein the providedsourcefolder.
安装
$ npm install sshync -g
使用
# generate a public SSH key (so we don't have to retype password) # write to user@ip:~/.ssh/authorized_keys $ sshpair <user@ip[:port]> # initialize file auto-sync $ sshync <user@ip[:port]> <source> <destination> source: local source folder. destination: remote destination folder.
示例
$ git clone https://github.com/mateogianolio/sshync.git $ cd sshync $ sshpair root@xxx.xxx.82.203 generated ssh key to ~/.ssh/sshync.pub root@xxx.xxx.82.203's password: root@xxx.xxx.82.203's password: ~/.ssh/sshync.pub => ~/.ssh/authorized_keys $ echo -e ".git\nnode_modules" > .sshyncignore $ sshync root@xxx.xxx.82.203 . /root/sshync . => root@xxx.xxx.82.203:/root/sshync ignore ./.sshyncignore mkdir -p /root/sshync [+] ./README.md => /root/sshync/README.md [399 bytes] [+] ./package.json => /root/sshync/package.json [520 bytes] [+] ./sshync.js => /root/sshync/sshync.js [3304 bytes] [+] ./LICENSE.md => /root/sshync/LICENSE.md [1084 bytes] # ... edit package.json ... [/] ./package.json => /root/sshync/package.json [524 bytes]