zoukankan      html  css  js  c++  java
  • SSH 使用密钥登录并禁止口令登录

    小结:修改下sshd配置文件,把公钥传上去就好了
    先生成公钥和私钥,默认在/root/.ssh/目录,可以先看一下有没有这个目录。
    生成公钥后,以后其它服务器也都可以复用这个公钥
    最好生成时输入密码!!
    2,复制密钥对
    用ssh-copy-id将公钥复制到被管理机器上面,观察authorized_keys有无变化(之前服务器上没有这个文件,拷贝后会出现这个文件,而且文件内容就是公钥的内容,最好在另一台服务器上用ssh-copy-id命令拷贝到被管理的机器上,这样生成的authorized_keys权限被自动设置好了,不用自己设置)
    拷贝你的公钥到被管理的服务器
    ssh-copy-id -i ~/.ssh/id_rsa.pub 172.29.0.* 此处输入的密码是机器的密码,不是你设置的私钥密码
    ssh-copy-id -i ~/.ssh/id_rsa.pub "root@192.168.160.44 -p 60022"
    或直接cat id_rsa.pub >> authorized_keys
    追加符 >> 而不是 >
    3,修改SSH配置文件
    vim /etc/ssh/sshd_config
    关闭root用户使用密码登陆
    #禁用密码验证
    PasswordAuthentication no //修改为no 133行(最后一行)
    打开下面3个的注释。43行
    #启用密钥验证
    RSAAuthentication yes
    PubkeyAuthentication yes
    #指定公钥数据库文件
    AuthorizedKeysFile .ssh/authorized_keys
    可以用下面命令可以修改(最好用vim手动):
    sed -i "s/^PasswordAuthentication.*/PasswordAuthentication no/g" /etc/ssh/sshd_config
    sed -i "s/^#RSAAuthentication.*/RSAAuthentication yes/g" /etc/ssh/sshd_config
    sed -i "s/^#PubkeyAuthentication.*/PubkeyAuthentication yes/g" /etc/ssh/sshd_config
    sed -i "s/^#AuthorizedKeysFile.*/AuthorizedKeysFile .ssh/authorized_keys/g" /etc/ssh/sshd_config
    重启SSH服务前建议多保留一个会话以防不测
    service sshd restart
    客户端如何连接:
    xshell: 点击浏览,选择文件
    不用管红色部分
    法二;
    Next:
    如何authorized_keys里区分各个用户的内容?authorized_keys 注释
    参考:
  • 相关阅读:
    springboot启动只显示图标不报错
    tmux常用
    ubuntu+anaconda+mxnet环境配置
    OpenCV学习笔记(二)
    c++基础
    c++算法实现(一)
    pytorch使用不完全文档
    ubuntu上传到百度网盘
    pickel加速caffe读图
    caffe常用
  • 原文地址:https://www.cnblogs.com/elesos/p/6266871.html
Copyright © 2011-2022 走看看