SSH配置——增强安全性

为了确保服务器安全,需要修改SSH服务配置文件(/etc/ssh/sshd_config),修改完之后记得重启ssh服务

提高ssh安全主要有以下几个方面:

1、修改监听端口

打开配置文件

修改监听端口(原来是22)

 

2、禁止root用户登录

依然是首先打开配置文件,然后修改“PermitRootLogin yes”这一行为“PermitRootLogin no”

3、禁止使用密码登录(利用公私钥登录)

    3.1、创建用户

    3.2、给用户分配sudo权限

            如果你是ubuntu10.10版本,可以参考这篇文章, 我用的是ubuntu12.04,那就更简单了,因为/etc/sudoers这个文件里面已经默认添加了sudo用户组,所以只要编辑/etc/group文件即可。

             将用户名写在sudo开头的那一行后面,用户名之间用”,”隔开,比如像这样:

A9BBDCBB-76BE-4D18-987B-08F13F52667A

  

    3.3、配置公私钥

        这个需要客户端先生成公私钥对,然后将公钥拷贝到服务器对应的用户的~/.ssh/authorized_keys 这个文件里,如果没有这个文件就创建一个。

        下面是可类型客户端生成公私钥对的方法:   

 *nix(Linux,mac):

 
默认情况下,公钥文件的存储位置:~/.ssh/id_rsa.pub 
复制该文件里的内容,就是2048位的公钥串(为什么要2048,因为据说1024位的已经可以在48小时内破解出私钥啦),粘贴到服务器对应用户的 ~/.ssh/authorized_keys文件里,注意去掉所有的空格和回车(除了ssh-rsa后面和【用户名】@【主机名】前面)
 

windows:

  1) 运行puttygen.exe(在此处下载),选择需要的密匙类型和长度,使用默认的SSH2-RSA,长度设置为2048。
  2) 按照软件提示,在puttygen的主窗口空白处快速晃动鼠标以产生随机数
  3) 公私钥对参数配置窗口出现: passphrase可以为空,免得登录时还是要输入一次密码。
  4) 点击”Save public key”,保存公钥文件,命名方式:id_rsa_用户名.pub
   因为puttygen.exe生成的格式和Linux系统使用的key格式不同,需要对生成的数据作些简单的修改:
       比如源数据:
     应修改为:
      (注意:修改后的数据不能有回车换行;windows 下使用 putty 生成的公钥修改中需要注意的两个地方,“ssh-rsa” 之后需要一个空格,最后“你的姓名全拼@你的主机名 ” 之前也需要一个空格)
 
   5) 点击”Save private key”,保存私钥文件(例如保存为id_rsa.ppk),该文件请务必妥善保存,以避免被盗用。

   6)将修改后的公钥粘贴到服务器相应用户的~/.ssh/authorized_keys文件里

        注意:每次更换客户端都要进行以上操作,或者随身携带私钥,需要时拷贝到客户端的相应位置

 

    3.4、禁用密码登录

           修改配置文件中“PasswordAuthentication yes”为

 

4、仅允许(或禁止)特定用户使用ssh登录

      仅允许特定用胡使用ssh登录,配置文件中添加或修改:

     禁止特定用户登录ssh,配置文件中添加或修改:

 

5、使用SSH协议版本为2

       修改配置文件

 

6、ip白名单

       可以通过配置iptable的方式进行设置,也可以通过修改host.deny和host.allow配置文件来完成,以下是配置文件的修改方法:

      在/etc/hosts.allow输入:(其中192.168.10.88是你要允许登陆ssh的ip,或者是一个网段192.168.10.0/24)  

   在/etc/hosts.deny输入(:表示除了上面允许的,其他的ip 都拒绝登陆ssh)

 

7、禁止空密码登录

修改配置文件:

 

8、禁止长连接

修改配置文件:

 

9、设置密码出错可重试次数(已经免密码登录就不用改了)

修改配置文件:

 

10、停止使用ssh

如果你的各种服务已经稳定,我觉得如无必要,可以停用ssh服务,少一个服务就少一个安全隐患啊,如果你的服务器是linode的vps,你可以使用LISH登录,如果你的服务器是机房托管的话或者很烂的vps提供商的话,那就算了吧

 

如果你对SSH想有更多的了解,我觉得这篇文章算是最经典的中文教材了,可以让你彻底理解SSH:SSH 安全性和配置入门

 

声明:如未作说明,则本文为 渣滓洞【解旻的博客】 原创。转载务必注明出处
注意:转载须保留全文,如需修改请联系作者

本文永久地址:http://xieminis.me/?p=201