1、修改 SSH 端口,禁止 root 登陆
修改/etc/ssh/sshd_config文件
$ sudo vi /etc/ssh/sshd_config Port 4484 #一个别人猜不到的端口号 PermitRootLogin no $ sudo /etc/init.d/ssh restart |
2、禁用密码登陆,使用 RSA 私钥登录
Amazon EC2 服务器本来就是只允许使用私钥登录的,但是这样的话我如果想在别的电脑上临时 SSH 上来,又没带私钥文件的情况下,就很麻烦。所以我又手动开启了密码验证登录。不管怎样,这一条还是先列出来吧
# 在客户端生成密钥 $ ssh-keygen -t rsa # 把公钥拷贝至服务器 $ ssh-copy-id -i .ssh/id_rsa.pub server # 也可以手动将.shh/id_rsa.pub拷贝至服务器用户目录的.ssh中,记得修改访问权限 # $ scp .shh/id_rsa.pub server:~/.ssh # 在服务器中 $ cd ./.ssh/ $ mv id_rsa.pub authorized_keys $ chmod 400 authorized_keys $ vi /etc/ssh/sshd_config RSAAuthentication yes #RSA认证 PubkeyAuthentication yes #开启公钥验证 AuthorizedKeysFile .ssh/authorized_keys #验证文件路径 PasswordAuthentication no #禁止密码认证 PermitEmptyPasswords no #禁止空密码 UsePAM no #禁用PAM # 最后保存,重启 $ sudo /etc/init.d/ssh restart |
3、安装denyhosts
这个方法比较省时省力。denyhosts 是 Python 语言写的一个程序,它会分析 sshd 的日志文件,当发现重复的失败登录时就会记录 IP 到 /etc/hosts.deny 文件,从而达到自动屏 IP 的功能。这和我之前介绍的自动屏蔽扫描的脚本 是一个思路。如果靠人工手动添加的话还不把人累死。现今 denyhosts 在各个发行版软件仓库里都有,而且也不需要过多配置,傻瓜易用。
安装:
# Debian/Ubuntu: $ sudo apt-get install denyhosts # RedHat/CentOS $ yum install denyhosts # Archlinux $ yaourt denyhosts # Gentoo $ emerge -av denyhosts |
默认配置就能很好的工作,如要个性化设置可以修改 /etc/denyhosts.conf
$ vi /etc/denyhosts.conf SECURE_LOG = /var/log/auth.log #ssh 日志文件,它是根据这个文件来判断的。 HOSTS_DENY = /etc/hosts.deny #控制用户登陆的文件 PURGE_DENY = #过多久后清除已经禁止的,空表示永远不解禁 BLOCK_SERVICE = sshd #禁止的服务名,如还要添加其他服务,只需添加逗号跟上相应的服务即可 DENY_THRESHOLD_INVALID = 5 #允许无效用户失败的次数 DENY_THRESHOLD_VALID = 10 #允许普通用户登陆失败的次数 DENY_THRESHOLD_ROOT = 1 #允许root登陆失败的次数 DENY_THRESHOLD_RESTRICTED = 1 WORK_DIR = /var/lib/denyhosts #运行目录 SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES HOSTNAME_LOOKUP=YES #是否进行域名反解析 LOCK_FILE = /var/run/denyhosts.pid #程序的进程ID ADMIN_EMAIL = root@localhost #管理员邮件地址,它会给管理员发邮件 SMTP_HOST = localhost SMTP_PORT = 25 SMTP_FROM = DenyHosts <nobody@localhost> SMTP_SUBJECT = DenyHosts Report AGE_RESET_VALID=5d #用户的登录失败计数会在多久以后重置为0,(h表示小时,d表示天,m表示月,w表示周,y表示年) AGE_RESET_ROOT=25d AGE_RESET_RESTRICTED=25d AGE_RESET_INVALID=10d RESET_ON_SUCCESS = yes #如果一个ip登陆成功后,失败的登陆计数是否重置为0 DAEMON_LOG = /var/log/denyhosts #自己的日志文件 DAEMON_SLEEP = 30s #当以后台方式运行时,每读一次日志文件的时间间隔。 DAEMON_PURGE = 1h #当以后台方式运行时,清除机制在 HOSTS_DENY 中终止旧条目的时间间隔,这个会影响PURGE_DENY的间隔。 |
查看我的 /etc/hosts.deny 文件发现里面已经有 8 条记录。
$ sudo cat /etc/hosts.deny | wc -l 8 |
相关推荐
解决vps上ssh掉线(第三十六课).docx
SSH是一种网络协议,用于安全地远程登录到另一台计算机,进行命令行交互或者传输数据。它使用加密技术保护通信内容,防止被窃听或篡改。在Linux和Unix-like系统中,SSH广泛用于管理远程服务器。 要实现自动登录SSH...
如果我们的VPS使用的是SolusVM客户端管理面板,我们直接在VPS商的管理后台就可以重置ROOT密码
1. 可以某个程序在执行时一直是输出状态,需要结合nohup、&来放在后台执行,并 2. 公司需要备份数据库时,数据量巨大,备份两三天弄不完,这时不小心关闭了终
。。。
。。。
2,关闭Web Server先,过高的负载会导致后面的操作很难进行,甚至直接无法登录SSH。 3,以防万一,把设置的Web Server系统启动后自动运行去掉。 (如果已经无法登录进系统,并且重启后负载过高导致刚刚开机就已经...
Linux VPS下SSH常用命令是每个系统管理员必备的技能,对于初学者来说,掌握这些基本命令将极大地提高工作效率。下面是一些常用的SSH命令及其详细解释: 1. **目录操作**: - `rm -rf mydir`:删除mydir目录,`-r`...
在上一篇的确保Linux VPS及服务器更加安全之Xshell设置密钥登录文章中已经分享到XSHELL使用密钥登陆我们的VPS服务器确保机器的安全,但是很多同学们并不是都像老左一样用XSHELL,而还是有很多使用PUTTY登陆SSH,所以...
随着我们网站及项目的需要,以及VPS主机/服务器的成本不断的降低,越来越多的站长用户将会选择VPS或者服务器作为我们的建站环境,但是对于用户来说基础的操作大部分都来自网上的教程,比如用SSH软件登陆之后然后就学...
同时,VPS8703还集成了高精度的死区时间控制电路,这对于防止功率MOSFET在各种工作条件下出现共通现象具有关键作用。这一点对于维持系统稳定运行同样至关重要。 在保障系统安全方面,VPS8703集成了过流检测保护和过...
centos,linux使用ddos的防止流量攻击。 一般的vps小服务器使用 小范围的阻止
启动完毕,然后登录MYsql设置密码 输入set password for 'root'@'localhost' = password('12345678');来设置密码 至此,mysql安装完毕!然后创建数据库,首先用show databases;查看数据库 然后使用create ...
VPS环境修改工具,可以修改成佳达或者乾坤环境。
(如果已经无法登录进系统,并且重启后负载过高导致刚刚开机就已经无法登录,可联系管理员在母机上封掉VPS的IP或80端口,在母机上用虚拟控制台登录进系统,然后进行2&3的操作,之后解封) 二,找出攻击者IP 1,在...
### VPS8702/S 微功率隔离电源专用芯片技术解析 #### 一、概述 VPS8702/S 是一款专为微型、低功耗隔离电源设计的高效变压器驱动器。该芯片适用于小型化的隔离电源解决方案,能够满足低待机功耗的要求。通过简单的...
### VPS2104/2104N 小功率反激电源控制器技术解析 #### 一、产品概述 VPS2104/VPS2104N 是一种高度集成化的反激电源控制器,适用于小功率隔离式电源转换器。这款控制器集成了多种先进的特性,能够满足不同应用场合...