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手册页摘录的关于这两个开关的所有细节,以及为什么select大写P为scp的解释:
-P端口指定要在远程主机上连接的端口。 请注意,这个选项是用大写字母“P”写的,因为-p已经被保留用于保存rcp(1)中文件的时间和模式。
-p保留原始文件的修改时间,访问时间和模式。
我使用不同的端口,然后标准和复制文件之间的文件,如下所示:
scp -P 1234 user@[ip address or host name]:/var/www/mywebsite/dumps/* /var/www/myNewPathOnCurrentLocalMachine
这只是偶尔使用,如果它重复自己根据计划,你应该使用rsync和cron作业来做到这一点。
一个额外的提示。 在scp命令之后放置'-P'选项,无论你正在进入的机器是第二个(又名目的地)。 例:
scp -P 2222 /absolute_path/source-folder/some-file user@example.com:/absolute_path/destination-folder
你知道什么比-P
更酷吗? 没有
如果您多次使用此服务器,请使用以下条目设置/创build~/.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在“Host”行上使用任何东西
有许多configuration选项可以在configuration文件中使用,请参阅:
man ssh_config
scp帮助告诉我们,端口由大写字母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 SourceFile remoteuser@remotehost:/directory/TargetFile
从主机复制文件: scp user@host:/directory/SourceFile TargetFile
从主机recursion复制目录: scp -r user@host:/directory/SourceFolder TargetFolder
注 :如果主机使用端口22以外的端口,则可以使用-P选项指定它: scp -P 2222 user@host:/directory/SourceFile TargetFile
这可以通过指定端口通过-P开关来实现:
scp -i〜/ keys / yourkey -P2222文件ubuntu @ host:/ directory /