总结ssh建立原理

一、SSH原理:
        SSH为Secure Shell的缩写,默认端口22,由IETF的网络小组(Network Working Group)所制定;SSH为建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH仅仅是一协议标准,其具体的实现有很多,既有开源实现的OpenSSH,也有商业实现方案。使用范围最广泛的当然是开源实现OpenSSH。

        生成公钥和私钥的方法:
        ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
        ssh-keygen是用于产生密钥的工具。其中参数:

       -t:指定生成密钥的类型(rsa、dsa、ecdsa等);
     -P:指定passphrase,用于确保私钥的安全;
      -f:指定存放私钥的文件,公钥文件默认和私钥同目录,只是公钥的文件名是私钥的文件名加后缀.pub;
会在指定目录生成文件id_rsa和id_rsa.pub,其他文件是在使用过程中过生成,可以修改。其中:

      id_rsa:存放私钥;
      id_rsa.pub:存放公钥;
known_hosts:存放已认证的远程主机的公钥。连接其他服务端时,生成此文件并将其他服务端的公钥追加到此文件中;
authorized_keys:存放已授权的客户端公钥,可用于客户端免登录。当其他客户端想登录此服务端时,新建该文件并将这些客户端的公钥追加到此文件中就可以免密登录;
config:用于配置要快速访问的服务端的别名等配置信息。可配置多个服务端的相关信息,可使用通配符,如果多次匹配以第一次匹配为准,这样就可以使用ssh 别名 直接登录。详情参考man ssh_config,常用的配置如下:

  客户端请求服务端时,客户端会获取服务端的公钥,因为没有像HTTPS那样的CA,所以第一次连接时只能由客户端自己确认公钥是不是正确。

 客户端第一次登录服务端时,会提示:无法确认主机xxx.com(xxx.31.18.60)的真实性,不过知道它的公钥指纹(之所以用fingerprint代替公钥,主要是公钥太长(RSA算法生成的公钥有1024位),很难直接比较。所以对公钥进行hash生成一个128位的指纹,这样就方便比较了),是否继续连接?

 如果输入yes后,会出现如下提示信息:将该服务器的公钥已添加到know_hosts文件中,然后提示输入密码进行登录。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值