如何在两个服务器帐户之间传输文件

如何在两个服务器帐户之间传输文件

我有两个服务器帐户(同一大学 Linux 服务器的两个学生用户帐户)。我想使用 SFTP 命令在它们之间传输文件。

我尝试使用登录第一个用户帐户$ ssh user1@server_host然后,我尝试连接第二个用户帐户并使用下一步访问我想要传输的文件$ sftp user2@server_host:/path/to/files 我想使用从 user2 到 user1 获取文件$ get /path/to/files/file.txt

sftp user2@server_host:/path/to/files显示错误:ssh: connect to host gw.cse.cuhk.edu.hk port 22: Connection refused

我用 Google 搜索了如何使用 SFTP。但它们都是关于从本地到服务器以及服务器到本地的传输。请帮我。

答案1

嘿,
“user1”主机可以解析“user2”机器的主机名吗?
user1@server_host1:$ nslookup server_host2:你可以使用这个命令来检查他是否可以解析主机名。

如果可行,我将检查网络权限,看看您是否有权使用端口 22 访问“server_host2”。
user1@server_host1:$ telnet server_host2 22 如果您得到一些重新组合以下内容的输出,则 SSH 在 2 个主机之间获得授权:

Escape character is '^]'.
SSH-2.0-OpenSSH_8.4p1 Ubuntu-6ubuntu2.1

答案2

如果user1user2位于同一个server_host,您可以尝试以下形式的 SFTP 命令:

sftp user2@localhost:/path/to/files

主机名的第一个元素通常gw.cse.cuhk.edu.hk意味着gw网关,表明它可能是旨在接受大学外部连接的主机。

该名称以及与之关联的 IP 可能只能从大学网络外部访问,一旦您使用 登录ssh user1@server_host,您现在就可以有效地输入命令里面大学网络。

也许您应该使用其他名称(可能类似于nile.cse.cuhk.edu.hkmyhome1.cse.cuhk.edu.hk?)从大学网络内部访问服务器主机?或者实际上可能gw.cse.cuhk.edu.hk是一个 SSH 代理,它将每个用户发送到他们被分配到的任何大学内部主机,并且user1毕竟user2不在同一台物理服务器上。这个问题只有大学的IT支持才能确定地回答。

相关内容