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

    #1 新建用于登录的用户
    useradd -p `echo "KYmO4ClPt1" | openssl passwd -1 -salt $(< /dev/urandom tr -dc '[:alnum:]' | head -c 32) -stdin` 9pZ7IER8

    KYmO4ClPt1: 用于ssh登录的用户密码

    9pZ7IER8: 用于ssh登录的用户名

    #2 切换到登录用户
    su 9pZ7IER8

    #3 创建用于存放秘钥的文件夹,路径/home/ssh用户

    cd
    mkdir .ssh
    cd .ssh

    #4 生成SSH密钥对

    PS:密钥生成后一定先传输到本地,防止无法连接到远程主机,并且要记录密码密码。

    ssh-keygen -t rsa

    #5 注册公钥文件
    cat id_rsa.pub >> authorized_keys
    chmod 644 authorized_keys
    cd ..
    chmod 700 .ssh

    #6 切换到root用户,修改ssh配置文件
    su root

    #7 开启RSA验证
    sed -i -e 's/#RSAAuthentication yes/RSAAuthentication yes/g' /etc/ssh/sshd_config
    sed -i -e 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' /etc/ssh/sshd_config
    sed -i -e 's/#AuthorizedKeysFile/AuthorizedKeysFile/g' /etc/ssh/sshd_config

    #8 禁止用户采用password登录
    sed -i -e 's/#AuthorizedKeysFile/AuthorizedKeysFile/g' /etc/ssh/sshd_config
    sed -i -e 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
    sed -i -e 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config

    #9 禁止用户以root身份进行登录
    sed -i -e 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config

    #10 修改端口号
    sed -i -e 's/#Port 22/Port 41042/g' /etc/ssh/sshd_config

    #11 修改iptables
    sed -i '11s/^/-A INPUT -m state --state NEW -m tcp -p tcp --dport 41042 -j ACCEPT /g' /etc/sysconfig/iptables
    service iptables restart

    #12 重启sshd服务

    PS:执行下面操作前,确认密码在本地,防止无法连接到远程主机。
    service sshd restart

  • 相关阅读:
    C语言 strcat
    C语言 strncpy
    C语言 strcpy
    C语言 main
    可显示Android设备选择列表,并进入指定Android设备Console的Shell脚本
    Android系统如何录制屏幕(录制成mp4格式)
    据说有99%的人都会做错的面试题
    一道淘汰85%面试者的百度开发者面试题
    用Android模拟器也可以开发和测试NFC应用
    一道腾讯面试题的思考:到底谁会赢?
  • 原文地址:https://www.cnblogs.com/sgwjj/p/7551144.html
Copyright © 2011-2022 走看看