密码学

对称加密算法

  • 概念:加密和解密使用同一个公钥
  • 遇到的问题:密钥的传输问题
  • diffie-hellman算法:在不直接传递密钥的情况下实现加解密

非对称加密算法

  • 加密解密使用不同的规则:公钥加密,私钥解密
(1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。
(2)甲方获取乙方的公钥,然后用它对信息加密。
(3)乙方得到加密后的信息,用私钥解密。
  • 通信过程:甲乙知道对方的公钥,在通信时使用对方的公钥加密,将消息发送到对方后,对方使用各自的私钥解密得到信息

ssh 登录过程

1 口令登录

  1. 建立连接时得到远程主机的公钥
  2. 输入密码,使用公钥加密,发送给远程主机
  3. 远程主机使用自己的私钥解密,得到密码,进行比对,如果正确则登入成功
  • 中间人攻击:冒充远程主机发送自己的公钥,获取密码
  • 应对中间人攻击:比对远程主机的哈希值,确认后再输入密码
    被信任的远程主机的公钥存储在 .ssh 目录下的 known_hosts 文件中

2 公钥登录(可以免输密码)

  1. 将自己的公钥添加到远程主机的 authorized_keys 文件中
  2. 建立连接时,远程主机发送一串随机字符到本机
  3. 本机使用私钥加密该串字符,然后发送给远程主机
  4. 远程主机使用已经保存的公钥解密,如果解密得到原字符串则建立连接

RSA的特点:公钥加密的,用私钥可以解密,私钥加密的用公钥可以解密

3 具体操作

  • ssh配置文件:/etc/ssh/sshd_config 里面可以修改端口号
  • 启动 ssh 服务:service sshd restart
  • 口令登录:ssh -p 22 zooo@192.168.145.34 输入密码登录,默认是22端口,因此不需要 -p 22 也行
  • 公钥登录:不需要输入密码,直接就登录了

SSH 工具使用

1 生成密钥

ssh-keygen -t rsa -f ~/.ssh/id_rsa -P "" -C "pc_e420"

  • -P 使用密码对私钥加密, "" 为不对私钥加密
    对于之前没有加密的私钥, 使用 -p -N 12345 加密, 密码为12345
  • -f 指定输出的私钥的文件名, 公钥文件名自动生成为私钥名+.pub
  • -C 添加密钥说明

2 向主机添加公钥, 实现免密码登录

ssh-copy-id -i ~/.ssh/id_rsa.pub zooo@192.168.234.130

  • 如果使用加密的私钥, 登录的时候会要求输入私钥加密的密码
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在深入学习区块链时,不可避免的需要了解密码学。区块链算是对密码学的一次整合运用,虽然并无太多创新的密码算法,但也值...
    Kerwong阅读 44,557评论 4 25
  • 〇、序言 货币由于其天然属性决定了其与安全不可分割的联系,从最早的金库、保险柜、镖局到后来的ATM机、运钞车;从存...
    怒马2048阅读 39,187评论 4 79
  • 地址、交易、区块、网络是区块链数据里面最基本最重要的概念。地址用来标示一笔交易的支出方和接收方。所有的交易最终需要...
    右象限阅读 916评论 0 1
  • 但凡一个有点追求的iOS开发,总得会点加密技术,要不然用户信息就有可能被其他人获取用来做一些对我们不利的事情。 一...
    软件iOS开发阅读 645评论 1 6
  • 大多数 Git 服务器都会选择使用 SSH 公钥来进行无密码登录连接。 SSH——Secure SHell(安全外...
    VeC_House阅读 209评论 0 0