目标服务器操作

目标服务器生成密钥对

    ## 进入系统的指定目录
    cd ~/.ssh

    ## filename 是公钥和私钥的文件名称
    ## 执行完成后,查看当前目录是否出现两个文件,一个是 .pub结尾的文件,这个是公钥,另外一个是filename名称的文件,这个是私钥
    ssh-keygen -t ed25519 -f ~/.ssh/[filename] -N ""

    ## 把公钥的内容,拷贝到 authorized_keys 文件中
    cat [filename].pub >> authorized_keys

    ## 更改目录和文件的权限
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

查看SSH配置,是否开启密钥登录

    ## 进入系统的指定目录
    cd /etc/ssh

    ## 查看ssh文件配置
    cat sshd_config

    ## 主要看两个配置,一个是是否允许私钥登录,还有一个是是否允许公钥登录root(根据实际情况选择)
    ## PubkeyAuthentication yes      # 是否允许公钥登录系统
    ## PermitRootLogin yes           # 是否允许公钥免密登录系统,并且是root用户

    ## 如果修改了,那么需要重启ssh
    systemctl restart sshd

    ## 执行上述操作后,本地验证下,-vvv是指查看日志, 输出内容中携带了:success 表示sshd这一层是配置好了
    ssh -vvv -i ~/.ssh/[filename] user@hostname "echo success"

本机操作

一次性终端有效

    # 1. 启动后台的管家进程
    eval $(ssh-agent -s)

    # 2. 把你的私钥添加给管家(假设你的私钥文件叫 id_rsa)
    ssh-add ~/.ssh/id_rsa