- SSH
- 安装openssh组件
- 创建的user01、user02用户允许访问ssh服务
- 服务器本地root用户不允许访问
- 修改SSH服务默认端口,启用新端口3358
- 添加用户user01,user02到sudo组;用于远程接入,提权操作
一、安装ssh服务
[root@storagesrv /]# yum install ssh
二、修改ssh配置文件
[root@storagesrv /]# nano /etc/ssh/sshd_config
Port 3358
AllowUsers user01
AllowUsers user02
PermitRootlogin no
[root@storage /]# nano /etc/sudoers
[user01] ALL=(ALL) ALL #如需sudo不输入密码 把后面的ALL改成NOPASSWD:ALL 即可
[user02] ALL=(ALL) ALL
三、重启测试查看端口
[root@storagesrv/]# ss -lntp | grep ssh
listen 0 128 [::]:3358 [::]:* users:(("sshd",pid=49412,fd=4))
四、客户端测试
[root@insidecli /]# ssh [email protected] -p 3358
[email protected]'s password:
Last failed login: Sat Jun 17 18:54:28 CST 2023 from gateway on ssh:notty
There were 2 failed login attempts since the last successful login.
Last login: Thu Jun 15 01:15:17 2023
[user01@storagesrv /]$ sudo systemctl restart network
- SSH
- 安装SSH
- 仅允许client客户端进行ssh访问,其余所有主机的请求都应该拒绝,配置client只能在Chinaskill22用户环境下可以免秘钥登录,端口号为2022,并且拥有root控制权限将SSH跟SFTP进行分离,要求SFTP监听端口为54321,并且通过服务的方式进行启动或停止。
一、安装ssh服务
[root@reserver /]# yum install openssh -y
二、配置ssh主配制文件
[root@reserver /]# nano /etc/ssh/sshd_config
port 2022
三、重启服务
[root@reserver /]# systemctl restart sshd
四、设置仅允许客户端登录
[root@reserver /]# nano /etc/hosts.allow
sshd:10.10.100.1:allow
[root@reserver /]# nano /etc/hosts.deny
sshd:All
五、客户端配置chinaskills22用户免密登录
[root@client /]# useradd Chinaskill22
[root@client /]# su Chinaskill22
[Chinaskill22@client root]$ ssh-keygen
[Chinaskill22@client root]$ ssh-copy-id [email protected] -p 2022
六、sftp分离
1、复制ssh文件当sftp文件
[root@reserver /]# cp /usr/lib/systemd/system/sshd.service /systemd/system/sftpd.service
[root@reserver /]# cp /etc/pam.d/sshd /etc/pam.d/sftpd
[root@reserver /]# cp /etc/ssh/sshd_config /etc/ssh/sftpd_config
2、软连接
[root@reserver /]# ln -sf /usr/sbin/service /usr/sbin/rcsftpd
[root@reserver /]# ln -sf /usr/sbin/sshd /usr/sbin/sftpd
[root@reserver /]# cp /etc/sysconfig/sshd /etc/sysconfig/sftp
3、修改复制好的配置文件
[root@reserver /]# nano /etc/systemd/system/sftpd.service
Description=Sftp server daemon
EnvironmentFile=-/etc/sysconfig/sftpd
ExecStart=/usr/sbin/sftpd -f /etc/ssh/sftpd_config
4、修改端口号54321
[root@reserver /]# nano /etc/ssh/sftpd_config
Port 54321
5、启动
[root@reserver /]# systemctl restart sftp
6、查看端口
[root@eserver /]# ss -ntpl|grep sftp
LISTEN 0 128 *:54321 *:* users:(("sftpd",pid=17504,fd=3))
LISTEN 0 128 [::]:54321 [::]:* users:(("sftpd",pid=17504,fd=4))
- SSH
- 工作端口为2021
- 只允许用户user01,登录到routersrv。其他用户 (包括root) 不能登录;通过ssh尝试登录到RouterSI,一分钟内最多尝试登录的次数为3次,超过后禁止该客户端网络地址访问ssh服务:记录用户登录的日志到ar/log/ssh.log,日志内容要包含: 源地址,目标地址,协议,源端口,目标端口
一、编辑配置文件
[root@routersrv /]# nano /etc/ssh/sshd_config
port 2021 #修改端口号
AllowUsers user01
LoginGraceTime 1m #限定用户认证时间为1min
MaxAuthTries 3 #指定每个连接最大允许的认证次数。默认值是 6
SyslogFacility local0 #配置日志
二、编辑日志文件
[root@routersrv /]# nano /etc/rsyslog.conf
local0.* /var/log/sshd.log
#*代表匹配所有的日志信息
[root@routersrv /]# systemctl restart rsyslog
[root@routersrv /]# systemctl restart sshd
三、ssh超时脚本
[root@routersrv /]# nano cs.sh
#!/bin/sh
while true
do
SCANIP=`grep "Failed" /var/log/sshd.log | awk '{print $(NF-3)}' | sort | uniq -c | awk '
{print $1"="$2;}'`
for i in $SCANIP
do
NUMBER=`echo $i | awk -F= '{print $1}'`
SCANIP=`echo $i | awk -F= '{print $2}'`
echo "$NUMBER($SCANIP)"
if [ $NUMBER -gt 2 ] && [ -z "`/sbin/iptables -vnL INPUT | grep $SCANIP`" ]
then
/sbin/iptables -I INPUT -s $SCANIP -m state --state NEW,RELATED,ESTABLISHED -j DROP
echo "`date` $SCANIP($NUMBER)" >> /var/log/scanip.log
fi
done
sleep 2s
done
设置一直启动该脚本
[root@routersrv ~]# vim /etc/crontab
* * * * * /bin/sh -x /cs.sh
四、测试
[Chinaskill22@client root]$ ssh [email protected] -p 2022