zoukankan      html  css  js  c++  java
  • 通过ssh协议实现用户key认证登录

    author:JevonWei
    版权声明:原创作品


    用户实现key认证登录

    主机A   192.168.198,134
    主机B   192.168.198,131
    主机C   192.168.198,136    
    
    • 创建无秘钥连接

      主机A秘钥连接主机B

      1. 客户端生成秘钥对
        ssh-keygen -t rsa [-p ' '] [-f "~/.ssh/id_rsa"] -t 指定加密类型,默认为rsa,可省略,-P指定创建秘钥连接,可为空,-f指定秘钥文件存放路径,默认存放路径为~/.ssh/id_rsa
      2. 客户端将生成的公钥文件传输给ssh服务端对应的用户家目录下
        ssh-copy-id -i ~/.ssh/id_rsa.pub danran@192.168.198.131 -i 指定公钥文件路径,传输给192.168.198.131主机上的danran用户的家目录下
      3. ssh danran@192.168.198.131 使用秘钥自动登录,无需键入用户密码

    image

    主机A秘钥连接主机C
    4. ssh-copy-id -i ~/.ssh/id_rsa.pub danran@192.168.198.136 \ 复制本机的公钥文件到第三台主机上root用户家目录下    
    5. ssh danran@192.168.198.136  \使用秘钥连接第二台主机      
    

    image

    主机B秘钥连接主机A   
    6. ssh-keygen -t dsa  \ 主机B创建秘钥文件,-t指定dsa算法
    7. ssh-copy-id -i ~/.ssh/id_dsa.pub 192.168.198.134   \-i 指定公钥文件路径,不指定传输的用户即为默认的当前用户    
    8. ssh 192.168.198.134   \ 自动登录   
    

    image

    9. 查看主机A上的公钥文件数据    
        cat ~/.ssh/known_hosts   \ 多个远程主机用户的公钥数据可追加到当前用户家目录下的.ssh/known_hosts文件中     
    

    image
    10. ssh 192.168.198.134 uname -r 可直接连接192.168.198.134主机并执行uname -r命令

    • 为秘钥添加口令(即每次连接都需输入秘钥口令)

      ssh-keygen -p -f .ssh/id_rsa 交互式为rsa秘钥文件添加口令

    image

    ssh-keygen -N "danran" -f .ssh/id_dsa   \非交互式直接指定dsa算法的秘钥文件的口令,-N ' '意为空口令  
    

    image

    • 在本地主机上修改秘钥文件的口令

      ssh-keygen -p -f ~/.ssh/id_dsa -f 指定秘钥文件

    image

    • 使用代理验证保存秘钥连接的口令(代理退出需重新登录)

      1. ssh-agent bash 将代理程序启动
      2. ssh-add 将秘钥文件的口令托管给代理
      3. ssh danran@192.168.198.131

    image

    • Xshell生成key认证
      image
      选择加密算法及位数
      image
      image
      输入秘钥的口令,口令可为空
      image
      image
      秘钥导出保存到本地
      image
      将导出的秘钥文件传输到需连接的主机上的~/.shh下
      cat .ssh/id_rsa_1024.pub > .ssh/authorized_keys 将拷贝的秘钥文件必须命名为authorized_keys
      image
      使用xshell建立会话连接
      验证方式选择Public Key认证
      image
      若秘钥文件添加过口令,则在此键入秘钥的口令
      image

    • SecureCRT生成公钥文件
      image
      选择秘钥的加密算法
      image
      选择键入秘钥文件的口令,可为空
      image
      加密算法的位数
      image
      选择公钥私钥文件的存放到本地的路径
      image
      将本地的公钥文件传输到需连接主机的~/.ssh/下
      将传输的公钥文件格式进行转换

        ssh-keygen -i -f Identity.pub >> ~/.ssh/authorized_keys   \ -i指定公钥文件的路径,并命名为authorized_keys
      

      新建一个会话连接
      image
      选择验证方式和输入主机地址及用户名,即可登录
      image

    SSH的相关内容

    http://www.cnblogs.com/JevonWei/p/7231348.html

    danran
  • 相关阅读:
    通过system调用Am命令执行动作
    windows中如何在命令行启动启动程序
    UICC 实现框架和数据读写
    软件设计方法(转载)
    好诗欣赏——邀请 The Invitation
    leaflet使用turfjs插件,基于格点数据绘制等值线效果
    深信服防火墙做端口映射
    关于本博客的一些声明
    sqlserver – SQL Server – 包含多个字段的IN子句
    JavaScript Array join() 方法
  • 原文地址:https://www.cnblogs.com/JevonWei/p/7231274.html
Copyright © 2011-2022 走看看