ssh scp 将文件复制到远程服务器的 21 端口

use*_*566 29 scp

我正在尝试将文件从我的服务器复制到另一个服务器,因此我使用以下命令:

scp root@myhost /home/direc/file.tar username@secondhost:/home/dir
Run Code Online (Sandbox Code Playgroud)

我收到错误:

ssh:连接到主机 secondhost 端口 22 连接超时

我知道这可能是因为第二台主机上的端口 22 未打开

那么如何通过在我的第二台主机上指定端口 21 进行传输

Amo*_*ale 46

尝试

scp -P 21 root@myhost /home/direc/file.tar username@secondhost:/home/dir
Run Code Online (Sandbox Code Playgroud)

其中 -P 代表端口号。


小智 7

我在你的尝试和回应中看到了两个缺陷。

1) scp 是一个安全外壳 (ssh) 实用程序,用于在主机之间安全地复制文件。它使用 ssh 进行数据传输并使用相同的身份验证并提供与 ssh 相同的安全性(请参阅 scp 联机帮助页)。ssh默认使用22端口,所以除非你把目的服务器上ssh的默认端口号改成21,或者你还没有在接收服务器上安装启动ssh服务器(sshd),否则不能用scp复制文件。

2)您的示例中正确的命令行应该是:

scp -P '*port running ssh on destination server*' /home/direc/file.tar username@remotehost:/home/dir
Run Code Online (Sandbox Code Playgroud)

第一个root@myhost不是必需的,实际上会尝试将名为root@myhost(很可能不存在)和 file.tar的文件复制到目标服务器。您很可能会收到以下消息:

root@myhost: No such file or directory during the copy.
Run Code Online (Sandbox Code Playgroud)