linux scp 传输命令

传输zip文件


# 基本使用
# 从本地传输到服务器
# 使用key
scp -i .\XXXX.pem .\xxxxxx.zip [email protected]:/home/xxxxx/    

# 使用账号密码
scp .\xxxxxx.zip [email protected]:/home/xxxxx/    

# 从服务器传输到本地
# 使用key
scp -i ~/Downloads/XXXX.key  [email protected]:/etc/proxychains4.conf  d:/Downloads

# 其他的一些配置
# 使用账号密码
scp   d:/Downloads  [email protected]:/etc/proxychains4.conf

# 使用 -v 参数将调试信息打印到屏幕中。它可以帮助你调试连接、身份验证和配置问题。
scp -v    d:/Downloads [email protected]:/etc/proxychains4.conf

# 显示时间和连接速度
scp -p    d:/Downloads [email protected]:/etc/proxychains4.conf

# 启用压缩 加速
scp -C  d:/Downloads   [email protected]:/etc/proxychains4.conf

# 默认情况下scp使用 AES-128 来加密文件。如果你想更改为其他密码对其进行加密,你可以使用 -c 范围
scp -c 3des d:/Downloads   [email protected]:/etc/proxychains4.conf  

# -l 参数将限制使用的带宽制 
scp -l 400 d:/Downloads [email protected]:/etc/proxychains4.conf  

# 将端口更改为另一个端口
scp -P 2249  d:/Downloads [email protected]:/etc/proxychains4.conf 

# 复制目录和其中的所有文件,目录 
scp -r 2249  d:/Downloads [email protected]:/etc/proxychains4.conf

# 禁用进度表和警告 / 诊断消息
scp -q  d:/Downloads   [email protected]:/etc/proxychains4.conf  



通过代理使用 scp 复制文件

代理服务器通常用于办公环境。scp 本身没有配置代理。当你的环境使用代理时,你必须告诉scp 与代理进行通信。

例如代理地址是10.0.96.6代理端口是8080.代理还实现了用户身份验证。首先,你需要创建 ~/.ssh/config文件

ProxyCommand /usr/bin/corkscrew 10.0.96.6 8080 %h %p ~/.ssh/proxyauth

然后你需要创建文件 ~/.ssh/proxyauth 里面输入。

myusername:mypassword

前提是需要安装 corkscrew

$ apt-get install corkscrew

Centos系统可以用yum安装corkscrew

# yum install corkscrew

由于 ~/.ssh/proxyauth 文件包含你的 username和password 以明文格式,请确保该文件只能自己访问。

选择不同的ssh_config 文件 对于经常在公司网络和公共网络之间切换的移动用户来说,总是在scp中更改设置会很痛苦。

场景示例

代理在公司网络中使用,但不在公共网络中使用,并且你定期切换网络。

rumenz@local $ scp -F /home/pungki/proxy_ssh_config Label.pdf

[email protected]:.
[email protected]'s password:
Label.pdf 100% 3672KB 282.5KB/s 00:13

默认情况下 ssh_config 每个用户的文件将被放置在 ~/.ssh/config。创建一个特定的 ssh_config 具有代理兼容性的文件将更容易在网络之间切换。

当你在公司网络,你可以使用 -F 范围。当你在公共网络上时,你可以不用-F参数


作者:spike

分类: Tool

创作时间:2023-06-25

更新时间:2024-12-09

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1