zoukankan      html  css  js  c++  java
  • ssh登陆linux服务器 实际场景讲解 让你管理服务器更安全

    很多时候我们管理linux系统,都谁使用ssh登陆,因为都知道ssh是加密传输的协议的,可以有效保证我们与

    服务器之间的数据通信安全。但是我们忽略了一点,但是登陆的时候我们是输入的账号和密码,这一点其实也

    是不安全的,同时这样也不符合实际业务场景,比如多人要登陆一个服务器进行管理,都告诉密码的话,甚至都告诉

    root密码的话这就更不安全了,很容易就造成了root权限的泄漏,到时候都是运维背黑锅的时候,那么我们

    还是为了安全,全场使用证书登录和加密管理吧,本位就介绍下如果使用ssh的证书登录。

    一、基本原理和步骤介绍:

    证书登录的步骤
    
    1.客户端生成证书:私钥和公钥,然后私钥放在客户端,妥当保存,一般为了安全,访问有黑客拷贝客户端的私钥,客户端在生成私钥时,会设置一个密码,以后每次登录ssh服务器时,客户端都要输入密码解开私钥(如果工作中,你使用了一个没有密码的私钥,有一天服务器被黑了,你是跳到黄河都洗不清)。
    
    2.服务器添加信用公钥:把客户端生成的公钥,上传到ssh服务器,添加到指定的文件中,这样,就完成ssh证书登录的配置了。
    
    假设客户端想通过私钥要登录其他ssh服务器,同理,可以把公钥上传到其他ssh服务器。
    
    真实的工作中:员工生成好私钥和公钥(千万要记得设置私钥密码),然后把公钥发给运维人员,运维人员会登记你的公钥,为你开通一台或者多台服务器的权限,然后员工就可以通过一个私钥,登录他有权限的服务器做系统维护等工作,所以,员工是有责任保护他的私钥的,如果被别人恶意拷贝,你又没有设置私钥密码,那么,服务器就全完了,员工也可以放长假了。
    

    二、客户端如何使用呢?

    客户端建立私钥和公钥
    在客户端终端运行命令
    
    #ssh-keygen -t rsa
    
    rsa是一种密码算法,还有一种是dsa,证书登录常用的是rsa。
    
    假设用户是blue,执行 ssh-keygen 时,才会在我的home目录底下的 .ssh/ 这个目录里面产生所需要的两把 Keys ,分别是私钥 (id_rsa) 与公钥 (id_rsa.pub)。
    
    另外就是私钥的密码了,如果不是测试,不是要求无密码ssh,那么对于passphrase,不能输入空(直接回车),要妥当想一个有特殊字符的密码。
    

    三、服务端如何使用呢?

    3、1首先是服务器端的ssh配置文件安全加固

    vim /etc/ssh/sshd_config
    #禁用root账户登录,非必要,但为了安全性,请配置
    PermitRootLogin no
    
    # 是否让 sshd 去检查用户家目录或相关档案的权限数据,
    # 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
    # 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
    StrictModes no
    
    # 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
    # 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile      %h/.ssh/authorized_keys
    
    #有了证书登录了,就禁用密码登录吧,安全要紧
    PasswordAuthentication no
    

    3、2 配置好ssh服务器的配置了,那么我们就要把客户端的公钥上传到服务器端,然后把客户端的公钥添加到authorized_keys

    在客户端执行命令

    scp ~/.ssh/id_rsa.pub blue@<ssh_server_ip>:~
    

      服务端添加到认证文件:

    cat  id_rsa.pub >> ~/.ssh/authorized_keys
    

      重启ssh服务器

    /etc/init.d/ssh restart
    

    四、配置完成后,我们如何在实际业务场景中登陆服务器

    ssh登陆方法:

    ssh -i /blue/.ssh/id_rsa blue@<ssh_server_ip>
    

    ssh方式进行scp文件传输用法:

    scp -i /blue/.ssh/id_rsa filename blue@<ssh_server_ip>:/blue
    

    当然如果每次使用都要加载私钥,我们可以把私钥文件配置在配置文件中

    #其实默认id_rsa就已经加入私钥的路径了,这里只是示例而已
    IdentityFile ~/.ssh/id_rsa
    #如果有其他的私钥,还要再加入其他私钥的路径
    IdentityFile ~/.ssh/blue_rsa
    

    至此为止,我们学习了如何进行私钥登陆的方法,保证远程管理安全。赶快加固我们的服务器去吧。

  • 相关阅读:
    乱码问题
    play之路由 routes
    delphi之http通讯
    delphi之socket通讯
    Delphi之ComboBox
    delphi 常用函数
    字节
    EXCEPT
    V_REPORT_AOC_FUEL]
    相同表结构不同记录
  • 原文地址:https://www.cnblogs.com/netsa/p/6400143.html
Copyright © 2011-2022 走看看