我正在尝试将文件从我的服务器复制到另一个服务器,因此我使用以下命令:
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)