首页 > 其他分享 >SSH 远程免密登录(公钥登录)

SSH 远程免密登录(公钥登录)

时间:2023-01-18 16:13:26浏览次数:32  
标签:公钥 登录 主机 免密 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

标签:公钥,登录,主机,免密,ssh,远程,客户端
From: https://www.cnblogs.com/zhouweixin/p/17060063.html

相关文章

  • Windows GIT SSH 免密教程
    1.安装git客户端下载地址:https://github.com/git-for-windows/git/releases/download/v2.23.0.windows.1/Git-2.23.0-64-bit.exe2.安装好后,在桌面右键出现GitGUIhere和......
  • 深信服AF设置web登录管理后台
    目的:因安全性考虑设置只有某个ip段访问AF后台1、网络---接口/区域---区域---LAN2、LAN区域---三层区域---WEBUI--允许管理此设备的IP---选择网络对象---添加ip或ip段3、测试......
  • 在模拟器上登录qq,自动化登录qq
    环境:javaversion"1.8.0_73"PythonActivePython3.8.2AppiumServerGUIAppiumInspector夜神模拟器cmdadb 代码:#ThissamplecodeusestheAppiumpython......
  • JumpServer 登录密码忘记及用户锁定如何处理
    概述本文主要介绍堡垒机使用过程中产生的密码相关问题。主要包括忘记密码、密码过期、以及登录频繁账号被锁定。忘记密码,密码过期问题描述在使用JumpServer的过程中,可能会......
  • 如何使用自己的 SSL 证书登录堡垒机?
    概述    文主要介绍了使用https协议登录堡垒机时,堡垒机的登录证书不被信任,如何替换证书的方法。实现方案    替换堡垒机自带证书。注意事项​​确认堡垒机......
  • Hive 刷题——用户注册、登录、下单综合统计
    需求描述从用户登录明细表(user_login_detail)和订单信息表(order_info)中查询每个用户的注册日期(首次登录日期)、总登录次数以及其在2021年的登录次数、订单数和订单总额。......
  • Ubuntu 系统如何使用 root 用户登录
    Ubuntu系统如何使用root用户登录实例?Ubuntu系统的默认用户名是ubuntu,并在安装过程中默认不设置root帐户和密码。您如有需要,可在设置中开启允许root用户登录。具体......
  • 解决mysql输入密码无法登录的问题
    ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:YES)当我输入root登录输入密码就会出现这种错误,不输入密码就可以登录,不输入密码里面......
  • 自定义用户登录验证
    1.自定义用户登录验证把自带的登录逻辑改写以及界面的改写1.1UserDetailServiceImpl@ServicepublicclassUserDetailServiceImplimplementsUserDetailsService{......
  • 初次登录MySQL
    对于linux中刚安装的mysql来说,初始用户是root,这个root不是linux中的root,而是mysql的root,而初始密码是没有的。1.登录MySQL登录MySQL的命令是mysql,mysql的使用语法如下:my......