会哭的雨 2020-02-19
[ ~]# ssh-keygen -C
[ ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub
[ ~]# ssh
[ ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [ ~]# vim r_31 [ ~]# chmod +x r_31 [ ~]# mv /usr/local/bin/r_31 [ ~]# r_31
[ ~]# cd ; umask 077; mkdir -p .ssh ; cd .ssh [ ~]# vim ~/.ssh/authorized_keys
[ ~]# vim /etc/ssh/sshd_config #编辑配置文件
Port 6666 # 修改sshd服务监听的端口 #减少被扫描到的几率 PasswordAuthentication no # no代表禁止使用密码的方式连接 #禁止所有用户使用密码远程连接 PermitRootLogin no # no代表禁止root用户直接远程连接 GSSAPIAuthentication no # 禁止GSS认证,减少连接时产生的延迟 UseDNS no # 禁止ssh进行dns反向解析,影响ssh连接效率参数
变更端口为6666,防止别人轻易的被扫描. root用户无法通过密码登录,也无法通过秘钥登录,总之就是不行. 普通用户仅能通过秘钥登录,无法通过密码登录.
ssh-keygen生成秘钥非交互,注意,如果存在则会提示是否覆盖. ssh-keygen -P "" -f ~/.ssh/id_rsa
fail2ban可以监控系统日志,并且根据一定规则匹配异常IP后使用Firewalld将其屏蔽,尤其是针对一些爆破/扫描等非常有效。
systemctl start firewalld #开启防火墙 systemctl enable firewalld #开机自启防火墙 firewall-cmd --state
firewall-cmd --permanent --add-service=ssh --add-service=http #放行SSHD服务端口 firewall-cmd --reload #重载配置 firewall-cmd --list-service #查看已放行端口
[ ~]# yum install fail2ban fail2ban-firewalld mailx -y #安装fail2ban
[ ~]# vim /etc/fail2ban/jail.local [DEFAULT] ignoreip = 127.0.0.1/8 bantime = 86400 findtime = 600 maxretry = 5 banaction = firewallcmd-ipset action = %(action_mwl)s [sshd] enabled = true filter = sshd port = 22 action = %(action_mwl)s logpath = /var/log/secure
[ ~]# systemctl start fail2ban.service [ ~]# fail2ban-client status sshd
fail2ban-client set sshd unbanip 10.0.0.1
(1)31服务器上开启临时ssh服务 /usr/sbin/sshd -p 10001 -d (2)61服务器上访问 ssh -vvv -p 10001 (3)31服务器上查看debug日志,发现身份验证被拒绝,目录的所有权错误。 Authentication refused: bad ownership or modes for directory /root