当前位置: 首页 > 科技观察

如何禁止使用密码通过ssh连接远程服务器

时间:2023-03-15 22:47:33 科技观察

禁止使用密码登录ssh(而不是使用密钥代替密码登录)可以提高远程服务器的安全性,减少可能的远程攻击。我们都知道可以使用root或者其他用户的密码通过ssh登录远程Linux服务器。但是这样会有一定的安全隐患,大量的暴力破解脚本会一直尝试用随机密码登录我们的系统。查看Linux服务器上的登录日志。如果有大量登录失败记录,则可能是暴力破解登录的痕迹。root@myserver:~#lastb|tailrootssh:notty49.235.87.213WedApr106:25-06:25(00:00)rootssh:notty95.128.137.176WedApr106:25-06:25(00:00)awssh:notty36.108.175.684月1日星期三06:25-06:25(00:00)awssh:notty36.108.175.684月1日星期三06:25-06:25(00:00)fxssh:notty113.88.164.534月1日星期三06:25-06:25(00:00)fxssh:notty113.88.164.534月1日星期三06:25-06:25(00:00)rootssh:notty112.215.113.104月1日星期三06:25-06:25(00:00)rootssh:notty152.32.173.74WedApr106:25-06:25(00:00)这就是我们始终强调使用强密码的原因。我们在文章可以提高ssh安全性的几种配置中提到过,可以使用fail2ban之类的工具来增强安全性,或者直接禁止密码登录,这样就无法通过连接的登录密码远程登录了。禁用密码登录后,如何连接ssh?您可以使用密钥连接到服务器,密钥是一种将公共ssh密钥添加到服务器的系统(称为基于密钥的身份验证)。Disablesshpasswordauthentication在你真正设置之前,需要注意以下几点:1)确保你已经在你的个人电脑上创建了ssh密钥对,并将公钥添加到远程服务器上,这样你就可以登录了进入远程服务器;2)禁用基于Password认证的认证,即不能使用其他电脑通过ssh连接到远程服务器;3)ssh密钥一定要妥善保管,如果由于个人电脑格式化或其他原因导致密钥丢失,则无法连接远程服务器。一些云服务器提供商(如Linode和阿里云服务)提供了一个VNC控制台,如果无法连接到远程服务器,可以使用它来连接到系统。此外,要禁用基于密码的ssh身份验证,您需要熟悉ssh和其他系统管理员概念,并知道如何使用基于终端的文本编辑器,如vim或nano。考虑到上述注意事项,让我们看看如何禁用基于密码的ssh身份验证。首先,以root身份登录到您的Linux服务器,然后使用基于终端的编辑器(如vim)编辑以下文件:/etc/ssh/sshd_config找到以下内容:PasswordAuthenticationyes并将其更改为:PasswordAuthenticationno如果该行是commented如果是掉线(前面带#),则取消注释(即去掉前面的#)。修改完成后,保存文件,重启ssh服务:systemctlrestartssh就可以了。以上就是本次分享的全部内容,欢迎讨论。