zoukankan      html  css  js  c++  java
  • Linux设置SSH登录(SecureCrt)

    背景

    每次登录需要输入复杂的密码,而且不停的有人在尝试登录root账户。感觉心慌慌,所以不得不设置更加安全的登录方式。

    配置SSH无密码登录需要4步

    1. 准备工作
    2. 生成公钥和私钥
    3. 导入公钥到认证文件,更改权限
    4. 测试

    1. 准备工作

    确认本机sshd的配置文件(需要root权限)

    vi /etc/ssh/sshd_config 

    1)修改以下内容

    RSAAuthentication yes #设置开启使用RSA算法的基于rhosts的安全验证;如RSAAuthentication没有则自行添加。
    PubkeyAuthentication yes #设置开启公钥验证;
    AuthorizedKeysFile .ssh/authorized_keys #后面的目录,是你上传的公钥所保存的文件;
    StrictModes no #意思是设置关闭ssh在接收登录请求之前先检查用户家目录和rhosts文件的权限和所有权。
    PasswordAuthentication no #禁止使用密码验证登录

    UseDNS=no #加速SSH登录

    2)先别急着重启sshd服务

    先导自己需要的密钥在重启服务,不然你懂的远程不要想登陆了。

    2. 生成公钥和私钥

    生成公钥有三种方法:

    1)使用命令

    cd /root/.ssh
    ssh-keygen -t rsa

    这个我没测试过

    2)使用SecureCrt生成密钥并上传

    工具Tools-创建公钥Create Public Key

    KeyType:RSA

    设置公钥的密码,密码用于以后登录时使用。也可以不输入密码

    设置公钥长度:这里用默认的2048就行了

    设置公钥的文件名,这里设置的id_rsa

    生成后会得到以下两个文件,其中.pub后缀时公钥,无后缀的文件时私钥(xftp用)

    3. 导入公钥到服务器,更改权限

    1)我们复制一个公钥文件[id_rsa.pub]命名为[authorized_keys].

    2)将[authorized_keys]用xftp等上传到 /root/.ssh/ 下覆盖原文件即可。

    3)在服务器上更改文件权限

    chmod 700 /root/.ssh 
    chmod 600 /root/.ssh/authorized_keys

    4)重启ssh服务

    #CentOS 7之前的版本请执行:  
    service sshd restart
    #CentOS 7请执行:  
    systemctl restart sshd.service

    4. 测试使用SecureCrt登录

     Secure进入管理密钥菜单,添加之前创建的私钥文件,输入密码。

     

    尝试登录,登陆成功。

    如果不能登录成功,那一定是SELinux惹的祸。

    ps为了这个我弄了好长时间,入门难!

    我们可以尝试关闭SELinux

    暂时关闭(重启后恢复): 

    setenforce 0  

    永久关闭(需要重启): 

    vi /etc/selinux/config  
    SELINUX=disabled  
     
  • 相关阅读:
    thinkphp 学习1-模型
    apache 2.4目录权限
    标头 header()函数的用法
    PHP面试题一
    php学习
    如何执行超过一百兆(100MB)的sql脚本?
    jquery-numberformatter插件
    xpath 获取父级,和同级
    Vue el-table 行编辑验证、重置
    Vue 弹窗一个新增编辑页面
  • 原文地址:https://www.cnblogs.com/Evan-fanfan/p/9488661.html
Copyright © 2011-2022 走看看