最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

全球关注:SSH 远程免密登录(公钥登录)

来源:博客园


(相关资料图)

应用场景

  • 避免每次连接开发机都输入密码,在企业中也常常限制密码登录的方式,需要每次走公司的鉴权流程;
  • 授权他人登录时,利用 ssh 公钥授权,不需要把用户名和密码暴露给他人。

原理

密码登录

概览图

  • 远程主机收到客户端请求后会把自己的公钥发送给客户端
  • 客户端通过公钥加密之后将密码发送给远程主机
  • 远程主机用私钥解密,密码如果正确则登录成功

公钥登录

概览图

  • 配置流程
    • 客户端生成密钥对
    • 将自己的公钥存储到远程主机的 ~/.ssh/authorized_keys
  • 登录流程
    • 客户端发起登录时,远程主机会发送一段随机字符串给客户端
    • 客户端用自己的私钥加密后重新发回远程主机
    • 远程主机用存储的客户端公钥解密
    • 对比解密后的字符串和之前发送给客户端的字符串,相同的话则认为登录成功

流程详解

配置流程

  • 客户端生成密钥对
    # 执行完如下命令,一直回车,便会生成两个文件:id_rsa 存储私钥,id_rsa.pub 存储公钥ssh-keygen -t rsa
  • 远程主机配置
    • 编辑文件 /etc/ssh/sshd_config
      # 启用RSA认证RSAAuthentication yes# 启用公钥认证PubkeyAuthentication yes# 公钥认证文件AuthorizedKeysFile .ssh/authorized_keys
    • 客户端生成的公钥追加到 ~/.ssh/authorized_keys

登录流程

ssh user@ip

关键词: 登录成功 用自己的 公钥加密