• Linux之SSH安全,使用密钥对验证


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

    A:可以使用密钥对验证,实现在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用户切换到user001用户:
    guest@debian:~$ ssh user001@192.168.9.119
    user001@192.168.9.119's password:

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

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

    guest@debian:~$ ssh-copy-id user001@192.168.9.119

    // 输入user01的密码

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

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

    guest@debian:~$ ssh user001@192.168.9.119
    Enter passphrase for key '/home/guest/.ssh/id_rsa':

  • 相关阅读:
    OpenEuler下OpenSSL的安装
    《Unix/Linux系统编程》第四章学习笔记
    缓冲区溢出实验
    2.3.1测试
    鲲鹏服务器测试
    第六章学习笔记(20191213兰毅达)
    第五章学习笔记(20191213兰毅达)
    stat命令的实现-mysate(20191213兰毅达)
    反汇编测试(20191213兰毅达)
    OpenEuler树莓派基础实验
  • 原文地址:https://www.cnblogs.com/relax1949/p/8973016.html
Copyright © 2020-2023  润新知