教你几条捷径 提高SSH的安全性

安全
现在,安全外壳协议(SSH)几乎已经成为进行远程登录操作时的必备选择。有很多方法可以增强SSH的安全性,但哪种方法既简单又有效呢?下面,就让我们来了解认识一下。

现在,安全外壳协议几乎已经完全成为进行远程登录操作时的必备选择。对于很多管理员来说,使用它已经属于默认的要求。但问题的关键是,情况也并不是象大家想象的那么肯定,安全外壳协议提供的安全性也需要进行设置增加效果。现在,有很多种方法可以将安全措施提升到更高的级别,但哪些是最容易部署,安全性最高的呢?下面,就让我们来了解认识一下。

基于ssh的密钥认证

不论用户怎样降低使用频度,但只要还是使用密码登录的话,就可能出现被破解的情况。这是一个永远存在的安全漏洞。但是,通过使用基于ssh的密钥认证,问题就可以获得解决。只要设定一个密钥,然后将密钥复制到指定机器上,就可以完成设置,下面给出的就是具体实施步骤(请注意:这些步骤针对的是基于Ubuntu的客户机和服务器):

本地系统

打开一个终端窗口并输入命令ssh-keygen -t dsa。该命令将生成一个公钥,接下来要做的就是利用ssh-copy-id -i ~/.ssh/id_dsa.pub 用户名@目标地址命令将其复制到服务器上,在这里,用户名指的是远程计算机上实际使用的用户名,目标地址指的是远程计算机的实际地址。

现在,当使用者尝试利用远程计算机进行登录的话,将被要求提供证书而不是用户密码。

对于使用图形界面系统的用户来说,可以选择点击打开系统|首选项|密码和加密密钥设置。从该图形界面(参见图A)中选择个人密钥栏,点击文件|新建|安全外壳协议密钥项,按照创建指南的提示完成设置。

 

图A

该工具可以对所有密码和私人密钥进行管理。

一旦密钥得以创建,就可以通过右键单击打开,进行安全外壳协议密钥的设置。在新窗口中,使用者可以键入计算机的名称(远程系统)和登录名。请注意:这么做之前,务必确保在远程计算机上已经存在登录名。

如果使用者采用的是Windows来登录ssh功能服务器的话,可以选择使用密钥对生成工具PuTTYgen。下载并启动PuTTYgen,点击生成按键,将鼠标移动到其它位置(在创建阶段),保存公共密钥,并将其复制到ssh服务器上。

请注意:为了以防万一,大家应该选择始终对密钥进行强制密码保护。因为,如果在设置的时间选择容许密钥认证模式的话,可能会发现一些用户选择创建无密码密钥(基于易用性的考虑)。这种做法属于不安全的。

阻止对根的访问

对于所有系统来说,容许基于安全外壳协议的访问属于关键之一。打开文件/etc/ssh/sshd_config,查找这一行:

PermitRootLogin

确保上面的行设置为否定。正确的行应该是:

PermitRootLogin no

一旦对文件的更改和保存操作完成,就可以输入命令:

sudo /etc/init.d/ssh restart

现在,如果出现尝试利用ssh作为根用户登录到服务器上情况的话,访问就会被直接拒绝。

调整端口号

我相信将安全模糊化并不能带来真正的安全。但是针对安全外壳协议的情况,设置越多安全性就越高。因此,我非常支持将安全外壳协议的默认22号端口调整为非标准端口。为了做到这一点,需要打开/ etc/ssh/sshd_config文件,并查找此行(靠近顶部):

Port 22

将端口号调整为没有使用的其它非标准端口。需要注意的是,所有连接到该系统上的用户都应该了解到端口号方面的调整。在进行了调整之后,也需要重新启动ssh服务。

利用命令行连接非标准端口时间,需要使用这样的命令:

ssh -p 端口_数字 -v -l 用户名 网络地址

在这里端口_数字就是非标准端口,用户名就是连接时使用的用户名,网络地址就是远程系统的地址。

最后的思考

总体而言,对于远程系统来说,安全外壳协议是一种相当安全的连接方式。但是,只要在默认的基础上进行小小的调整,就可以达到非常安全的状态......花费少量时间就可以换来安全方面的极大提高。作为一条标准的重要经验,使用者应该牢记,在任何情况下,都应该禁止根登录......所有超过这一限度的行为都是众所周知的糖衣炮弹。

 

【编辑推荐】

  1. 用脚本简化部署DenyHosts防SSH暴力破解
  2. 详解Linux下SSH远程文件传输命令scp
  3. 用ClusterSSH管理多台Linux服务器
  4. 路由器故障:登录SSH服务器失败
  5. 故障分析:SSH的攻击导致CPU利用率突发增高
责任编辑:佚名 来源: 至顶网
相关推荐

2011-08-19 12:17:46

2023-02-20 17:12:08

2010-03-16 15:17:39

2020-01-18 08:49:17

目录安全.ssh木马

2012-07-30 10:07:01

2024-09-25 08:46:31

2012-08-22 10:27:16

2018-02-27 14:50:16

数据库MySQL安全性

2022-08-03 14:33:21

数据安全数据泄露漏洞

2009-12-22 18:52:06

WCF安全性

2022-07-13 16:39:54

数据中心数据安全

2021-10-12 16:25:35

物联网物联网安全IoT

2011-03-11 14:05:41

2015-04-23 11:38:00

2022-03-10 14:17:11

区块链数据安全技术

2020-02-27 14:59:14

物联网海上安全性物联网应用

2023-07-13 15:22:45

2011-10-11 09:13:15

2012-05-14 11:39:58

2011-03-29 16:37:59

备份安全性可用性
点赞
收藏

51CTO技术栈公众号