• 在linux服务器以及客户端实现公钥免密登录


    每次登录服务器都要输入密码,这点比较麻烦。使用ssh公钥登录机制可以直接登录,避免每次都输入密码的烦恼。
    所谓ssh公钥登录机制即是:客户端电脑client产生加密用的公钥id_rsa.pub与私钥id_rsa,然后将公钥id_rsa.pub放到linux服务器,进行适当的配置之后,客户端电脑client以后每次登录服务器,都由公钥与私钥进行登录的安全验证,如果服务器公钥与客户端私钥配对无误就可以直接登录服务器,无需输入密码。
    配置主要按照客户端与服务器端进行。

    一、客户端

    1.客户端产生公钥与私钥

    利用ssh-keygen 命令产生,具体用法参考ssh-keygen --help 或者 man ssh-keygen。例如 ssh-keygen -t rsa -C "my-login-key",-t参数后面指定使用rsa加密算法,-C后面增加注释内容, -f 可以指定输出的公钥与私钥名称。此命令可以产生私钥id_rsa与公钥id_rsa.pub两个文件,可以用cat或者vim打开观察一下。
    

    2.将公钥id_rsa.pub传到linux服务器

    如果登录服务器的用户名是Jim,那么就把公钥id_rsa.pub的内容放到linux服务器的 /home/Jim/.ssh/authorized_keys 文件中。如果在文件夹 /home/Jim/.ssh/ 中没有authorized_keys文件则需要创建此文件。 把公钥传到服务器,可以 scp id_rsa.pub Jim@xx.xx.xx.xx:/home/Jim/.ssh/,就把公钥文件传到 /Jim/.ssh/ 里面了,然后再 cat id_rsa.pub >> authorized_keys 即可。
    

    客户端配置到此完成。

    二、服务器端

    1.配置服务器端的公钥

    假设要登陆的用户是Jim,并且Jim还在服务器有自己的文件夹/home/Jim/,在客户端配置的第2步已经把客户端电脑产生的公钥内容放到服务器的 /home/Jim/.ssh/authorized_key文件中。
    

    2.在linux服务器上配置公钥登录功能

    开通linux服务器的rsa验证以及公钥验证登录功能,还要指定存放公钥的位置即/home/Jim/.ssh/authorized_keys。主要涉及的操作是修改 /etc/ssh/ssh_config 或者 /etc/ssh/sshd_config 文件的内容。修改完成服务器的sshd_config 内容后,需要重启服务器的sshd服务就能进行免密登陆服务器了,重启命令可以用 systemctl restart sshd.service,重启成功后可以查看sshd服务的状态 systemctl status ssh.setvice, 如果重启出错,可以查看相关的日志。
    

    至此服务器端也配置完成,可以免密码登录了。

  • 相关阅读:
    Python MySQL(SQL语句的补充3)
    Python MySQL(pymysql的使用day1)
    Python MySQL(SQL语句的补充2)
    Python MySQL(对外键使用方法的补充)
    Python MySQL(学习SQL语句)
    Python MySQL数据库的基本使用
    关于http响应内容压缩的一点小积累。
    同一账号,后一用户登录,前一个用户则被踢掉
    对序列化的学习。
    MySQL 函数积累
  • 原文地址:https://www.cnblogs.com/banluxinshou/p/11715957.html
Copyright © 2020-2023  润新知