如何通过SSH将文件从Hostgator直接移动到Godaddy?可能?

时间:2013-08-17 23:24:29

标签: linux shell ssh

这是我第一次使用SSH,到目前为止,我设法通过SSH连接到Hostgator服务器。我的目的是将文件从Hostgator帐户移动到我的Godaddy托管帐户,文件大小约为1Gb,因此FTP是不可能的,因为它需要永远(我之前尝试使用FTP)。

现在我正在尝试在Hostgator和Godaddy之间直接设置SSH隧道,这样我就可以直接传输文件,速度更快,但我仍然坚持这一部分。

我应该打开两个SSH会话吗?您是否经历过极客帮助我朝着正确的方向前进?我做了几个小时的研究,我仍然觉得我在这部分迷失了。

2 个答案:

答案 0 :(得分:3)

使用SSH连接到Godaddy服务器。然后,一旦你完成了cd到任何你希望将文件复制到的目录。接下来使用以下命令打开与Hostgator帐户的sftp会话:

sftp -P [port-number] <address-of-hostgator-server>

端口号是您正常SSH服务器时使用的端口。如果在连接时通常不指定端口,则默认为22。

从那里你可以使用cd命令将文件下载到godaddy服务器,找到你想要的文件/目录,然后在要下载它们的文件或目录上找到get命令。

注意:如果Godaddy服务器有防火墙规则阻止端口22(或用于连接到hostgator的任何端口)出站,这将不起作用,在这种情况下你运气不好,你需要下载文件在本地,然后再次上传它们。

一些理论

要将文件从一个主机复制到另一个主机,您无法自行从SSH复制文件,您需要使用sftpwget之类的内容。在这种情况下,sftp是最简单的选项,因为它已经安装在您正在使用的任何Linux主机上,如果目标服务器启用了SSH,您可以使用它。

当您从正在使用的计算机进行SSH连接到GoDaddy服务器时,您在该SSH shell中运行的任何命令现在都在该GoDaddy服务器上运行。通过在此shell中使用sftp命令,您可以在GoDaddy服务器和Hostgator服务器之间创建连接,您可以通过已打开GoDaddy的SSH shell来控制它。实质上,您使用SSH来控制使用sftp与Hostgator服务器通信的GoDaddy服务器。

实际做到这一点

要从评论中回答您的示例,您可以通过SSH连接到GoDaddy服务器,然后cd到任意位置的新文件。然后,一旦完成,使用您建议的命令打开与hostgator服务器的连接。

sftp -P 2222 username@my_server_ip

现在,您的SSH提示符应更改为sftp>提示符。这意味着您现在运行的任何命令都是GoDaddy服务器和Hostgator服务器之间sftp连接的命令。现在cd到Hostgator服务器上“test”目录的任何位置,并使用get -r test下载将该目录复制到GoDaddy服务器的目录。然后在sftp提示符下键入exit,返回到GoDaddy服务器的SSH提示符,您将在该服务器中找到您的文件。

答案 1 :(得分:0)

使用ssh连接其中一台机器。例如:

$ ssh <username>@<godaddy-server>

然后从该计算机上使用scp跨机器复制文件。例如,要将文件从godaddy传输到hostgator上的主目录:

$ scp <file-on-godaddy> <username>@<hostgator-server>:~

-r选项可与scp一起用于传输目录。在前面的示例中,冒号将远程计算机的地址与文件将复制到的路径分开。在示例中,〜用于传输到主目录。