Centos配置ssh

  • 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

65884032529c8f08e2f03c9477cb6bca.png

猜你喜欢

转载自blog.csdn.net/LLLLLoodwd/article/details/131324368