我试图scp文件从远程服务器到我的本地机器。只有80端口可访问。
我试着:
scp -p 80 username@www.myserver.com:/root/file.txt .
cp: 80:没有这样的文件或目录
如何在scp命令中指定端口号?
我试图scp文件从远程服务器到我的本地机器。只有80端口可访问。
我试着:
scp -p 80 username@www.myserver.com:/root/file.txt .
cp: 80:没有这样的文件或目录
如何在scp命令中指定端口号?
当前回答
复制文件到主机: scp SourceFile remoteuser@remotehost:/directory/TargetFile . xml
从主机复制文件: scp user@host:/directory/SourceFile目标文件
从主机递归复制目录: scp -r user@host:/directory/SourceFolder目标文件夹
注意:如果主机使用的端口不是22,可以使用-P选项指定: scp -P 2222 user@host:/directory/SourceFile目标文件
其他回答
端口可以使用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
使用实例使用不同的远程端口将所有目录下的所有文件备份到远端Synology NAS。
scp -P 10022 -r /media/data/somedata/* user@192.168.1.x:/var/services/homes/user/directory/
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 1234 user@[ip address or host name]:/var/www/mywebsite/dumps/* /var/www/myNewPathOnCurrentLocalMachine
这只是偶尔使用,如果它根据计划重复自己,您应该使用rsync和cron作业来完成它。
你知道什么比-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