千家信息网

scp 是我小看了你-基于密钥传输!

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,原因:公司用的是基于密钥登陆,虽然有防火墙等设备,而且不允许root直接登陆和不允许密码登陆。由于公司的网不好,有一次需要拷贝一次2个多G的数据到别的服务器。我当时想的就是scp(虽然也有其它命令工具
千家信息网最后更新 2026年10月31日scp 是我小看了你-基于密钥传输!

原因:公司用的是基于密钥登陆,虽然有防火墙等设备,而且不允许root直接登陆和不允许密码登陆。由于公司的网不好,有一次需要拷贝一次2个多G的数据到别的服务器。我当时想的就是scp(虽然也有其它命令工具)但是,我却忘记了现在不允许密码登陆。虽然有其它方式(比如lrzsz或者winscp ftp等),但是如果先下载再上传必然需要太多时间。毕竟走服务器的局域网才是最快,要是走公司,然后再上传,那就太麻烦了。于是看看scp --help发现有一个-i 参数。所以是支持密钥的方式的。仔细研究一番,确实好用,于是,自己写了个文档,和大家分享一下。


[root@node1 ~]# scp --help

usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-iidentity_file]

[-l limit] [-ossh_option] [-P port] [-S program]

[[user@]host1:]file1 ... [[user@]host2:]file2

[root@node1 ~]#

语法详解:

-1246BCpqrv:

-1 强制scp 用协议1

-2 强制scp 用协议2

-4 强制scp用IPV4的网址

-6 强制scp用IPV6的网址

-B 选择批处理模式(防止输入密码)

-C 允许压缩。 标注-C到ssh(1)来允许压缩

-p指定修改次数,连接次数,还有对于原文件的模式

-q把进度参数关掉

-r递归的复制整个文件夹

-v详细方式显示输出

-c cipher:选择cipher来加密数据传输。

-F ssh_config: 指定ssh的配置文件

-I identity_file: 选择被RSA认证读取私有密码的文件。

-I limit:限制传输带宽,也就是速度 用Kbit/s的速度

-o ssh_option:可以把ssh_config中的配置格式传到ssh中。

-P port: 指定ssh端口

-S program:指定一个加密程序。

user@ 用户

host1 主机(可以是ip,也可以是域名)

测试环境:

node1:192.168.1.220 centos6.6mini

node2:192.168.1.221 centos6.6mini

node1:

上传文件夹到node2;

scp -P 21386 -r/usr/local/tomcat/ root@192.168.1.221:/root

注意:如果不加-r,会报错

/usr/local/tomcat: not aregular file

如果需重命名,可在远程主机指定位置和文件名即可

scp -P 21386 -r/usr/local/tomcat/ root@192.168.1.221:/root/tomcat1

上传压缩文件到node2


scp -P 21386 -r /usr/local//root@192.168.1.221:/root

将node2文件目录或者压缩文件传输到node1。

scp -P 21386 -rroot@192.168.1.221:/root/tomcat /root

scp -P 21386 -rroot@192.168.1.221:/root/mysql.tar.gz /root

当然,你也可以从node2上进行操作。

由于上面的操作,总是需要密码,那么接下来做一个ssh互信。

由于我改了默认端口,所以先改回默认22的端口。

一路回车即可!

ssh-copy-id -i.ssh/id_rsa.pub root@192.168.1.221

如果需要dns,事先做好dns,或者hosts,再做ssh互信。

测试:

ssh -help



做到上面,基本的ssh已经没有问题了。但是,生产环境,用密钥认证的也不少,那么下面做一个基于密钥验证的。并且禁止root登陆和密码登陆(操作略,过于简单)

删除node2的数据,将node1上的数据,传输到node2上。

由于不允许密码登陆,和不允许root直接登陆。现在是基于密钥登陆,然后切换到root,因此,现在只有用密钥的方式用scp。而且只能上传到密钥用户家目录下。除非在指定的目录相应用户有权限。不过,就是一个scp而已,实现目的即可。

scp -i Identity -P21386mysql.tar.gz node2@192.168.1.221:/home/node2

scp -i Identity -P21386 -r tomcat2/ node2@192.168.1.221:/home/node2

scp -i Identity -P21386 -r tomcat node2@192.168.1.221:/home/node2

注意:回车提示输入密码。



一个小小的经验,分享给大家。希望和大家多多交流和分享。

QQ:1145507435

邮箱:renzhiyuan666666@vip.qq.com


文件 登陆 密码 密钥 传输 数据 方式 强制 公司 用户 目录 端口 选择 主机 参数 就是 文件夹 服务器 模式 次数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 今日互联网科技 科技企业和互联网企业 银优互联网科技有限公司 苏州互联网科技贷款公司 腾讯科技 互联网女皇 北京禾田雨橡互联网科技 互联网科技大会案例 阿里巴巴算科技企业还是互联网 坤平互联网科技 互联网科技研发水平 明优互联网科技有限公司 互联网科技公司营业执照怎么办理 杭州披云加互联网科技有限公司 全球科技与互联网公司市值变化 科技互联网行业投资研究 云南互联网科技学费 互联网科技品牌 网互联网络科技 北京瑞云互联网科技有限公司 利用互联网等科技手段 南京欣网互联网络科技有限公司 中国互联网科技工作委员会毛军 腾讯科技 互联网女皇 现代互联网科技股 智腾互联网科技有限公司 互联网在线教育科技创业 黑科技 体验场景 互联网大会 福建互联网展示科技馆设计 同城互联网络科技 科技和互联网行业的特点
0