SCP免密传输和SSH登录流程详解

SCP免密传输和SSH登录协议详解

在linux下开发时,经常需要登录到其他的设备上,例如虚拟机内ubuntu、树莓派等等,经常涉及到传输文件的操作,传输文件有很多中方法,如物理磁盘拷贝,基于网络的samba服务、SCP传输、ftp文件传输等等,今天我们就来聊聊出场频率最高的SCP传输。

SCP的使用

在linux环境中,当我们需要在两台机器之间传输数据时,经常会用到SCP指令,(SCP指令其实就是基于SCP(secure copy)协议实现的应用程序),SCP的使用示例:

scp a.out [email protected]:/home/donwey  

从示例可以看出,上述示例为:将a.out这个文件传送给IP为192.168.1.101目标机器的/home/downey目录下,如果是第一次传输,终端会显示:

The authenticity of host '192.168.4.77 (192.168.4.77)' can't be established.ECDSA key fingerprint is 7f:d8:d6:37:4f:a7:6f:8d:a3:00:45:7f:0d:xx:xx:xx.Are you sure you want to continue connecting (yes/no)?  

接着键入:

yes  

然后系统会提示你输入账户和密码,注意这个密码指的是目标机器上用户的账号密码,正确输入之后传输完成。

知道怎么做,当然还需要知道为什么这么做,所以我们需要来探究scp指令背后的秘密。


预备知识

在介绍SCP协议之前,我们先得了解一下SSH协议,和计算机中的加密方式,因为SCP协议的登录过程基于SSH协议。

对称加密

对称加密,即在数据传输过程中对数据进行加密和解密的算法使用同一个密钥,这种加密算法有什么弊端呢?

当客户端需要与服务器端进行数据传输时,不管是由客户端还是由服务端产生的密钥,都得将这个密钥传给对方才能实现加解密,而在传输的过程中就可能造成密钥的泄漏。

那么有些人就要说了,那我不用网络传输秘钥,我可以使用口头传输或者u盘拷贝的方法。

是的,这样就可以保证安全,但是在大多数互联网应用中,通信双方是陌生设备,无法做到上述的方式。

非对称加密

针对对称加密带来的风险,非对称加密则解决了这个问题。

将加解密使用的密钥分为公钥和私钥,公钥可以公开,而私钥则由密钥生成者保存,客户端使用公钥进行加密,而服务端用私钥进行解密,且目前来说还没有出现能从公钥推算出私钥的的破解机制。

所以相对于对称加密而言,这种加密方式更加安全,但是这种加密方式的缺点是会占用更多的计算机资源,而且这种资源的耗费量是巨大的。

常见的加密方式

对称加密:

  • <
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值