scp指定了端口号
我试图从远程服务器scp文件到我的本地机器。 只有端口80可以访问。
我试过了:
scp -p 80 username@www.myserver.com:/root/file.txt .
但得到这个错误: cp: 80: No such file or directory
如何在scp命令中指定端口号?
与ssh不同,scp使用大写的P开关来设置端口而不是小写的p:
scp -P 80 ... # Use port 80 to bypass the firewall, instead of the scp default
小写字母p开关与scp一起用于保存时间和模式。
以下是scp手册页的摘录,其中包含有关两个开关的所有详细信息,以及为什么选择大写字母P作为scp的解释:
-P端口指定要在远程主机上连接的端口。 请注意,此选项是用大写字母“P”编写的,因为-p已保留用于保留rcp(1)中文件的时间和模式。
-p保留原始文件的修改时间,访问时间和模式。
一个额外的提示。 无论您正在进入的机器是第二个机器(又名目的地),在scp命令之后放置'-P'选项。 例:
scp -P 2222 /absolute_path/source-folder/some-file user@example.com:/absolute_path/destination-folder
你知道什么比-P
更酷吗? 没有
如果您多次使用此服务器,请使用以下条目设置/创建~/.ssh/config
文件:
Host www.myserver.com
Port 80
要么
Host myserver myserver80 short any.name.u.want yes_anything well-within-reason
HostName www.myserver.com
Port 80
User username
然后你可以使用:
scp username@www.myserver.com:/root/file.txt .
要么
scp short:/root/file.txt .
您可以使用ssh,scp,rsync,git和more在“主机”行上使用任何内容
您可以在配置文件中使用MANY配置选项,请参阅:
man ssh_config