我有两个服务器帐户(同一大学 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
如果user1
和user2
位于同一个server_host
,您可以尝试以下形式的 SFTP 命令:
sftp user2@localhost:/path/to/files
主机名的第一个元素通常gw.cse.cuhk.edu.hk
意味着gw
网关,表明它可能是旨在接受大学外部连接的主机。
该名称以及与之关联的 IP 可能只能从大学网络外部访问,一旦您使用 登录ssh user1@server_host
,您现在就可以有效地输入命令里面大学网络。
也许您应该使用其他名称(可能类似于nile.cse.cuhk.edu.hk
或myhome1.cse.cuhk.edu.hk
?)从大学网络内部访问服务器主机?或者实际上可能gw.cse.cuhk.edu.hk
是一个 SSH 代理,它将每个用户发送到他们被分配到的任何大学内部主机,并且user1
毕竟user2
不在同一台物理服务器上。这个问题只有大学的IT支持才能确定地回答。