2023-04-14 05:00:00

指定端口号的SCP

我试图scp文件从远程服务器到我的本地机器。只有80端口可访问。

我试着:

scp -p 80 username@www.myserver.com:/root/file.txt .

cp: 80:没有这样的文件或目录

如何在scp命令中指定端口号?


当前回答

scp help告诉我们端口是由大写的P指定的。

~$ scp
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 ... [[user@]host2:]file2

希望这能有所帮助。

其他回答

scp -P 22 -r DIR  huezo@192.168.1.100:/home/huezo

scp -P PORT -r DIR  USER@IP:/DIR

如果要在scp命令上使用另一个端口,请像这样使用大写P

scp -P port-number source-file/directory user@domain:/destination

是的,阿里

端口可以使用scp协议路径指定:scp://[user@]host[: Port][/path]

源自man scp:

源和目标可以指定为本地路径名、具有可选路径的远程主机(形式为[user@]host:[path])或URI(形式为 scp: / / [user@][:港口][/路径]。本地文件名可以显式使用绝对或相对路径名,以避免scp处理包含':'的文件名: 作为主机说明符。

例子:

scp local/filename scp://user@acme.com:22222/path/to/filename
scp scp://userA@foo.com:22222/path/to/filename scp://userB@bar.com:33333/path/to/filename

注意,如果你的路径是从根开始的,你需要在你的路径中有两个/s。例如,

scp local/filename scp://user@acme.com:22222//root/path/to/filename

你知道什么比-P更酷吗?没有什么

如果您多次使用此服务器,请设置/创建~/。Ssh /config文件的入口如下:

Host www.myserver.com
    Port 80

or

Host myserver myserver80 short any.name.u.want yes_anything well-within-reason
    HostName www.myserver.com
    Port 80
    User username

然后你可以使用:

SCP用户名@www.myserver.com:/root/file.txt。

or

SCP短:/root/file.txt。

你可以使用任何在“主机”行ssh, scp, rsync, git和更多

你可以在配置文件中使用许多配置选项,请参阅:

男人ssh_config

另外一个提示。将'-P'选项放在scp命令之后,无论您要ssh-ing到的机器是否是第二个机器(也就是目的地)。例子:

scp -P 2222 /absolute_path/source-folder/some-file user@example.com:/absolute_path/destination-folder