zoukankan      html  css  js  c++  java
  • SSH建立密钥对

     A服务器登录到B服务器,但为了安全起见,不想输入B服务器的用户帐号密码,该如何实现?

    可以使用密钥对验证,实现在A服务器无需B服务器的用户帐号密码即可登录到B服务器。

    登录验证对象:服务器中的本地用户帐号

    登录验证方式:

      密码验证:核对用户名、密码是否匹配

      密钥对验证:核对客户的私钥、服务端公钥是否匹配

    # vim /etc/ssh/sshd_config

    PasswordAuthentication yes   // 密码验证

    PubkeyAuthentication yes   //密钥对验证

    AuthorizedKeysFile .ssh/authorized_keys  // 密钥保存地方

    # systemctl restart ssh.service

    构建密钥对验证的SSH体系:

    第一步:创建密钥对(在客户端创建,创建后包含私钥和公钥,形成一个密钥对)

      私钥文件:id_rsa

      公钥文件:id_rsa.pub

    # ssh-keygen -t rsa

    // 设置密钥保存位置

    // 设置密钥口令

    【私钥权限为:600

    公钥权限为:644

    此加密方式为非对称加密,私钥文件一定不能公开】

    第二步:上传公钥文件到服务端

    第三步:导入公钥文件

    以下命令把第二步和第三步合成一起实现上传并导入:

    # ssh-copy-id remote_user_name@remote_ip_address

    例子:

    导入公钥文件前,使用guest用户切换到student用户:
    [root@localhost ~]# ssh user001@192.168.10.11
    student@192.168.10.11's password:

    开始上传并导入公钥文件:

        使用guest用户上传并导入公钥文件到student用户,上传并导入成功后,使用guest用户切换到student用户,无需student的密码即可登录到student(如果guest用户创建密钥对时候创建了密码,则需输入密钥口令):

    [root@localhost ~]# ssh-copy-id student@192.168.10.11

    // 输入student的密码

    // 上传并导入成功,在student用户的 ~/.ssh 目录下有一个文件 authorized_keys ,即上传并导入后的公钥文件

    // 使用guest用户切换到user001,无需user001的密码即可登录

    [root@localhost ~]# ssh student@192.168.19.11
    Enter passphrase for key '/home/guest/.ssh/id_rsa':

  • 相关阅读:
    hdu5728 PowMod
    CF1156E Special Segments of Permutation
    CF1182E Product Oriented Recurrence
    CF1082E Increasing Frequency
    CF623B Array GCD
    CF1168B Good Triple
    CF1175E Minimal Segment Cover
    php 正则
    windows 下安装composer
    windows apache "The requested operation has failed" 启动失败
  • 原文地址:https://www.cnblogs.com/wanghs8/p/11366345.html
Copyright © 2011-2022 走看看