虚拟主机域名注册-常见问题 → 其他问题 → 其他问题 | ||||
1. 设置SSH无密码认证 默认情况下,SSH要求用户在登录时提供密码。但问题是:黑客可以猜测密码,甚至使用特殊的黑客工具进行暴力破解攻击,获得对你系统的访问权限。为了安全起见,强烈建议您使用SSH无密码身份验证。 ①第一步是生成一个SSH密钥对,它包括一个公钥和一个私钥。该私钥存放在你的主机系统上,而公钥则会被复制到远程服务器上。 一旦成功复制了公钥,你就可以无缝地进入远程服务器,而无需输入密码。 ②下一步是禁用密码身份验证,要实现此目的,您需要修改SSH配置文件。 $ sudo vim / etc / ssh / sshd_config 在配置文件中,找到以下指令。取消#注释并将 "yes "改为 "no"。 PasswordAuthentication no 然后重新启动SSH守护程序。 # sudo systemctl restart sshd 2.禁用用户SSH无密码连接请求 增强服务器安全性的另一种推荐方法是禁用没有密码的用户的SSH登录。这听起来有些奇怪,但有时系统管理员可以创建用户帐户而忘记分配密码。 要拒绝没有密码的用户的请求,请再次访问位于的配置文件/etc/ssh/sshd_config并,取消#注释并将 "yes "改为 "no": PermitEmptyPasswords no 然后重新启动SSH服务以使更改生效。 $ sudo systemctl restart sshd 3.禁用SSH根登录 如果黑客设法暴力破解您的root密码,那会发生什么?。允许远程root登录始终可不是一个好主意,它可能会危害系统的安全性。 因此,始终建议您禁用SSH远程root登录,而要坚持使用常规的非root用户。再次转到配置文件,然后如图所示修改此行。 PermitRootLogin no 完成后,重新启动SSH服务以使更改生效。 $ sudo systemctl restart sshd 此后,远程根登录将被禁用。 4.使用SSH协议2 SSH有两种版本:SSH 协议1和协议2。SSH 协议2于2006年推出,由于其强大的密码检查,批量加密和强大的算法,它比协议1更安全。 默认情况下,SSH使用协议1。要将其更改为更安全的协议2,请在配置文件中添加以下行: Protocol 2 与前面一样,重新启动SSH才能使更改生效。 $ sudo systemctl restart sshd 今后,SSH将默认使用协议2。 要测试是否再支持SSH 协议1,请运行以下命令: $ ssh -1 user @ remote-IP 您将收到一条错误消息“SSH protocol v.1 is no longer supported”。 在这种情况下,命令为: $ ssh -1 tech@192.168.2.108 此外,您可以简单地指定-2标签,以确保协议2是使用的默认协议。 $ ssh -2 tech@192.168.2.108 5.设置SSH连接超时的空闲值 空闲SSH连接会使您的PC长时间无人值守会带来安全风险。有人可以简单地通过并接管您的SSH会话,然后随便做什么。为解决该问题,因此,谨慎地设置一个空闲超时限制,超过该限制时,SSH会话将关闭。 再次打开您的SSH配置文件,然后找到指令“ ClientAliveInterval”。分配一个合理的值,例如,我已将限制设置为180秒。 ClientAliveInterval 180 这意味着如果3分钟(相当于180秒)后未注册任何活动,则SSH会话将被丢弃。 然后重新启动SSH守护程序以影响所做的更改。 $ sudo systemctl restart sshd 6.将SSH访问限制为某些用户 对于附加的安全层,您可以定义需要SSH协议登录并在系统上执行远程任务的用户。这样可以避免其他任何未经您许可而试图进入您的系统的用户。 与往常一样,打开配置文件,并添加指令“AllowUsers ”,后跟要授予的用户名。在下面的示例中,我允许用户james 通过SSH远程访问系统。任何其他试图获得远程访问权限的用户都将被阻止。 AllowUsers tecmint james 此后,重新启动SSH以使更改继续存在。 $ sudo systemctl restart sshd 7.配置密码尝试限制 可以增加安全性的另一种方法是通过限制SSH登录尝试的次数,以便在尝试失败的次数之后,连接断开。因此,再次转到配置文件并找到“ MaxAuthTries ”指令,并为最大尝试次数定义一个值。 在此示例中,限制已设置为3次尝试,如图所示。 MaxAuthTries 3 最后,同样需要重新启动SSH服务。
|
||||
>> 相关文章 | ||||
没有相关文章。 |