没有SSH访问的Rsync

时间:2011-12-20 12:18:11

标签: deployment ssh shared-hosting rsync

首先,我不确定这是提出这个问题的最佳地点,如果它需要移动,那很酷。

我有共享主机没有SSH访问权限,我在部署/ rsyncing方面有什么选择......

我用PHP构建应用程序并使用GIT,不确定这是否会改变...

2 个答案:

答案 0 :(得分:10)

Rsync旧版本使用rsh作为传输层,由更安全的ssh取代, 但是你可以强制它使用-e标签(--rsh),

的其他传输
rsync --rsh=rsh

替代选项,

unison direct socket method(withou ssh)

没有ssh的

rdiff-backup(阅读REMOTE OPERATION部分)

ftpsync

HTTP上的

csync类似rsync的行为

答案 1 :(得分:2)

我认为Joao错过了在(锁定的)共享托管环境中工作的微妙之处。

但是,如果您确实需要执行正确的rsync,您是否考虑过从共享主机执行rsync pull

  • 我假设有一些DSL路由器可以解析其外部IP地址。
  • 您可以设置从rsync直接套接字到开发框的端口转发。
  • 您可以编写一个简单的PHP(或其他)脚本,它可以在proc_open()中包装rsync请求。 (我有一个标准命令在我的共享服务上执行此操作)

确定这里有一个漏洞,rsync端口将公开暴露给互联网,而直接套接字方法不会加密有效负载,但你不需要使用默认值,只需要服务在rsync本身运行。

我只使用任何更新的(delta)tarball并在本地爆炸作为我的共享主机帐户的发布过程的一部分,但rsync就在那里。无论如何,这值得一试。

$ remote rsync --version
rsync  version 3.0.6  protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, no symtimes

rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.