SSH(Secure Shell)

在实际生产环境中,服务器往往是在异地的机房里的,所以我们就需要一种远程登陆和管理的一种方式。

比较有代表性的如telnet就是以前常用的一种方式。但是由于telnet的传输都是明文方式的,数据的传输都是赤裸裸的,大家都不喜欢裸奔,太没安全感了。

为了安全感,杜蕾斯诞生了,SSH也诞生了。SSH对比telnet来说,就相当于信件跟明信片的区别。寄明信片中间经手的人个个都可以看到你写什么,而信件因为多了一层信封,保密性就好多了。

这层信封,就是SSH的意义所在,所谓的安全外壳。

SSH是一种协议,存在多种实现。意思就是说设计这个协议的人,只定义了信封的规范,就是信封应该是怎样的(例如长方形的纸袋,里面可以塞信件,上面有空位写收发件人名字等)。具体信封怎么做,用什么材料,怎么折叠,可以有不同的实现。

SSH的实现里有商业的,也有开源的。其中开源的最著名的就是OpenSSH

 SSH Keys

SSH keys是一对密钥,可用于对SSH服务器进行身份验证,作为基于密码的登录的替代。在身份验证之前创建了一个私有和公共密钥对。私钥是由用户保密的,而公钥可以与任何人共享。

要配置SSH密钥身份验证,您必须将用户的公钥放在一个特殊目录下的服务器上。当用户连接到服务器时,服务器将请求验证客户端是否有相关的私钥。SSH客户机将使用私有密钥进行响应,以证明私有密钥的所有权。

然后,服务器将允许客户端连接,而不需要密码。了解更多密钥工作原理,请点击

SSH密钥如何提高安全性

使用SSH时,所有类型的身份验证都是加密的,包括密码身份验证。然而,当基于密码的登陆操作被允许时,恶意用户可以尝试使用暴力破解。

使用SSH密钥时,可以选择禁用密码登陆模式。SSH密钥一般拥有比密码更长的位数,这极大地提高了暴力破解的难度(通常认为是不可破解的,因为耗费时间太长)。

设置起来难吗?

SSH密钥非常容易设置,而且也是推荐的用来远程登陆Linux和Unix服务器的方式。

你可以在自己的电脑上生成一对SSHM密钥,然后传输公钥到你的服务器上。

如何设置,参考这里

如果你觉得依然需要密码验证的登陆模式,可以参考实现如 fail2ban这一类的方案来限制密码重试次数。

内容源自:https://www.digitalocean.com/community/tutorials/7-security-measures-to-protect-your-servers

猜你喜欢

转载自www.cnblogs.com/gouchen/p/7524141.html