1. 从本地复制文件到远程主机
scp /path/to/local/file username@remote_host:/path/to/remote/destination
例如,将本地的 abc.sh 文件复制到远程主机 192.168.100.20 的 /root 目录:
scp /etc/abc.sh root@192.168.100.20:/root/
/etc/abc.sh:本地文件路径。root@192.168.100.20:/root/:远程主机和目标目录。2. 从远程主机复制文件到本地
scp username@remote_host:/path/to/remote/file /path/to/local/destination
例如,从远程主机 192.168.100.20 上的 /root/abc.sh 文件复制到本地的 /home/user/ 目录:
scp root@192.168.100.20:/root/abc.sh /home/user/
3. 从本地复制目录到远程主机
复制本地目录及其内容到远程主机,可以使用 -r 选项(递归复制目录)。
scp -r /path/to/local/directory username@remote_host:/path/to/remote/destination
例如,将本地的 /home/user/mydir 目录复制到远程主机 /root/ 目录:
scp -r /home/user/mydir root@192.168.100.20:/root/
4. 从远程主机复制目录到本地
同样地,使用 -r 选项可以将远程主机上的目录复制到本地。
scp -r username@remote_host:/path/to/remote/directory /path/to/local/destination
例如,将远程主机 /root/mydir 目录复制到本地 /home/user/ 目录:
scp -r root@192.168.100.20:/root/mydir /home/user/
5. 指定 SSH 端口
如果远程主机使用非默认的 SSH 端口(默认是 22),可以使用 -P 选项指定端口号。
scp -P port /path/to/local/file username@remote_host:/path/to/remote/destination
例如,远程主机使用 2222 端口:
scp -P 2222 /etc/abc.sh root@192.168.100.20:/root/
6. 限制传输带宽
scp 命令允许你通过 -l 选项来限制传输的带宽(以 Kbit/s 为单位)。这在带宽有限时很有用。
scp -l bandwidth_limit /path/to/local/file username@remote_host:/path/to/remote/destination
例如,限制带宽为 500 Kbit/s:
scp -l 500 /etc/abc.sh root@192.168.100.20:/root/
7. 显示传输进度
使用 -v 选项可以启用详细输出,显示传输进度和调试信息。传输过程中会显示每个文件的传输速度和剩余时间。
scp -v /path/to/local/file username@remote_host:/path/to/remote/destination
例如:
scp -v /etc/abc.sh root@192.168.100.20:/root/
8. 使用私钥进行身份验证
如果远程主机要求使用 SSH 密钥进行身份验证,可以通过 -i 选项指定私钥文件。
scp -i /path/to/private_key /path/to/local/file username@remote_host:/path/to/remote/destination
例如,使用 /home/user/.ssh/id_rsa 密钥文件:
scp -i /home/user/.ssh/id_rsa /etc/abc.sh root@192.168.100.20:/root/