OpenSSH 公钥认证

文章目录
  1. ssh-keygen 命令参数说明

  2. 创建SSH密钥对并导入私钥

  3. 以admin登录到服务器172.16.10.136并执行以下命令:
    mkdir ~/.ssh && chmod 700 ~/.ssh && cd ~/.ssh
    ssh-keygen -P Passw0rd -f ~/.ssh/172.16.10.136_admin
    echo "IdentityFile ~/.ssh/172.16.10.136_admin" >> /etc/ssh/ssh_config
    ssh-agent bash
    ssh-add ~/.ssh/172.16.10.136_admin
    ssh-add -l

  4. 传递SSH公钥到对端服务器

  5. 方法1. 在服务器172.16.10.136上将公钥复制到对端服务器172.16.10.143,需要进行密码登录认证;
    ssh-copy-id -i ~/.ssh/172.16.10.136_admin.pub -p 22 admin@172.16.10.143

    方法2. 以admin账号登录到对端服务器172.16.10.143系统,将获得的172.16.10.136_admin.pub文件上传到对端服务器172.16.10.143上、并以追加方式将公钥写入到 ~/.ssh/authorized_keys 文件中;
    mkdir ~/.ssh && chmod 700 ~/.ssh
    cat 172.16.10.136_admin.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys

  6. 测试公钥认证登录

  7. 以admin账号登录到服务器172.16.10.136并执行以下命令:
    ssh -p 22 admin@172.16.10.143

    说明:登录172.16.10.136服务器的admin账号需要使用ssh-add 172.16.10.136_admin导入私钥后才能通过公钥认证方式登录到对端服务器172.16.10.143。

  8. 其他命令使用说明

  9. 查看ssh-agent中所有已导入的私钥:ssh-add -l
    删除ssh-agent中已导入的某个私钥:ssh-add -d 172.16.10.136_admin
    查看SSH密钥对的公钥信息:ssh-keygen -e -f ~/.ssh/id_rsa
    查看SSH密钥对的公钥指纹:ssh-keygen -l -f ~/.ssh/id_rsa
    扫描/etc/ssh目录下的rsa和ecdsa公钥:ssh-keyscan -p 22 172.16.10.136
    指定SSH命令使用的私钥文件:echo "IdentityFile ~/.ssh/172.16.10.136_admin" >> /etc/ssh/ssh_config

发表评论

电子邮件地址不会被公开。 必填项已用*标注