内容纲要
Copy file to/from server via scp command
scp用于网络中的主机之间复制文件,它使用ssh进行 数据传输,同时使用了与ssh相同的验证方法并与ssh一样安全。
Basic Info
scp
scp - secure copy (remote file copy program) 以上内容是Linux的man手册给出的名字解释,由此可知 scp是用于可靠的远程文件复制。
Examples
本文结合实际使用,将给出几个示例。 示例中用到的用户为user,远程主机上必须存在此用户, 且该用户可以通过密码或者密钥登录主机。 示例中用到的主机域名为example.com,请根据实际情况 替换为您的主机域名或IP地址。 示例中的/path/to/identity_file表示为您本地用于登录 远程主机的密钥文件,请根据实际情况替换。
默认22端口复制文件/目录
复制文件
以下示例主要讲解: 1. 将远程主机上的文件复制到本机指定目录; 2. 将本地指定文件复制到远程主机指定目录。 以下示例中用到的用户为user。 注意: 1. 远程主机上存在可远程登录的用户user; 2. 远程主机上的文件必须存在且给定用户必须可读; 3. 指定的本机目录必须存在且是当前用户可写; 4. 必须有远程主机给定用户登录密码或密钥。
远程主机使用密码登录
#### 使用密码登录远程主机
## 复制远程主机指定文件到本机指定目录
scp user@example.com:/usr/include/stdio.h \
~/Downloads
## 复制本机指定文件到远程主机指定目录
scp ~/Documents/helloworld.c \
user@example.com:~/Documents
<pre>
输入以上命令,按下回车键后会提示输入密码。
</pre>
远程主机使用密钥登录
#### 使用密钥登录远程主机
## 复制远程主机指定文件到本机指定目录
scp -i /path/to/identity_file \
user@example.com:/usr/include/stdio.h \
~/Downloads
## 复制本机指定文件到远程主机指定目录
scp -i /path/to/identity_file \
~/Documents/helloworld.c \
user@example.com:~/Documents
<pre>
以上命令中-i参数指定了登录远程主机的密钥文件,
若密钥文件存在密码,则会提示输入密码。
</pre>
复制目录
<pre>
目录复制命令与以上基本相同,不同点有两处:
- scp后加上-r参数;
- 将指定的文件替换为目录即可。
</pre>#### 复制远程主机指定目录到本机指定目录 ## 密码登录远程主机 scp -r user@example.com:/usr/include \ ~/Documents
密钥登录远程主机
scp -r -i /path/to/identity_file \
user@example.com:/usr/include \
~/Documents
### 非默认22端口复制文件/目录
<pre>
针对非默认端口的远程主机,在以上示例的基础上添加以下参数
即可。 假如远程主机的ssh端口为54321,那么就需要添加如下参数:
-P 54321
</pre>
```shell
#### 复制本地指定文件到远程主机指定目录
## 密码登录远程主机
scp -P 54321 \
~/Documents/helloworld.c \
user@example.com:~/Documents
## 密钥登录远程主机
scp -P 54321 -i /path/to/identity_file \
~/Documents/helloworld.c \
user@example.com:~/Documents
Manual
以下列出选项为常用选项,如需查看原版完整手册,请在终端输入 man scp 回车即可见。
-3 两个远程主机之间的副本通过本地主机传输。 如果没有 此选项,数据将直接在两个远程主机之间复制。 请注意, 此选项会禁用进度表。 -4 强制scp仅使用IPv4地址。 -6 强制scp仅使用IPv6地址。 -i identity_file 选择从中读取公钥身份验证的标识(私钥) 的文件。此选项直接传递给ssh。 -l limit 限制使用的带宽,以Kbit/s为单位。 -P port 指定要在远程主机上连接的端口。 请注意,此选项 使用大写“P”编写,因为-p已保留用于保留文件的时间和模式。 -r 递归复制整个目录。
Reference
- man scp
声明:
未经特别说明,本站Blog均采用署名-非商业性使用-禁止演绎 2.5 中国大陆授权。任何违反本协议的行为均属于非法行为。如需非商业性转载,请保留署名。如需商业性转载出版,请直接和我联系。