centos 7 修改sshd | 禁止 root登录及sshd端口脚…

2019-09-04 07:08:11来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

centos 7 修改sshd | 禁止 root登录及sshd端口脚本定义

1.新建用户wwweee000

[root@localhost ~]# useradd wwweee000
[root@localhost ~]# passwd wwweee000
Changing password for user wwweee000.
New password: 
BAD PASSWORD: The password is a palindrome
Retype new password: 
passwd: all authentication tokens updated successfully.

2.#Port 22字段删掉,将22改为其他不被使用的端口,服务器端口最大可以开到65536.//注意Port是大写的"P"

[root@localhost ~]# cat -n /etc/ssh/sshd_config|grep "Port *"
    17  #Port 22
   100  #GatewayPorts no
[root@localhost ~]# cat /etc/ssh/sshd_config|grep -n "Port *"
17:#Port 22
100:#GatewayPorts no
[root@localhost ~]# awk "/Port */" /etc/ssh/sshd_config
#Port 22
#GatewayPorts no

上面还是不能满足输出结果:我们只要Port 22的答案.

[root@localhost ~]# cat /etc/ssh/sshd_config|grep -n "Port\ "            
17:#Port 22
[root@localhost ~]# cat -n /etc/ssh/sshd_config|grep "Port\ "            
    17  #Port 22
[root@localhost ~]# cat /etc/ssh/sshd_config|grep -n "Port\ "            
17:#Port 22
[root@localhost ~]# awk "/Port\ /" /etc/ssh/sshd_config                  
#Port 22
[root@localhost ~]# sed -i "17s/#Port 22/Port 22/g" /etc/ssh/sshd_config 
[root@localhost ~]# awk "/Port\ /" /etc/ssh/sshd_config                  
Port 22

-n显示行号;\反斜杠实质定义

3.不使用vi/vim进行修改Port 22 为 4096

[root@localhost ~]# sed -i "17s/Port 22/Port 4096/g" /etc/ssh/sshd_config 
[root@localhost ~]# cat /etc/ssh/sshd_config|grep "Port\ "
Port 4096

4.修改 #PermitRootLogin yes 为 PermitRootLogin no

[root@localhost ~]# cat -n /etc/ssh/sshd_config|grep "PermitRootLogin"
    49  #PermitRootLogin yes
   104  # the setting of "PermitRootLogin without-password".
[root@localhost ~]# sed -i "49s/#PermitRootLogin yes/PermitRootLogin no/g" /etc/ssh/sshd_config
[root@localhost ~]# cat -n /etc/ssh/sshd_config|grep "PermitRootLogin no"
    49  PermitRootLogin no

5.重启sshd服务

[root@localhost ~]# systemctl restart sshd.service

6.使用 wwweee000 用户登录变化

[wwweee000@localhost ~]$ 

user普通用户不能编辑/etc/ssh/sshd_config,需要切换root才能编辑,切换root命令 :  su

7.root进行运行,编写shell脚本。//脚本通用centos 7 (主要:sshd_config端口号定义输入对root登录禁止)

#!/bin/bash
sshd_Port=`cat /etc/ssh/sshd_config|grep "Port\ "`
echo "  当前sshd端口:$sshd_Port"
read -ep "  请输入sshd服务的连接端口Port (1-65536);
  请确保其他端口冲突和防火墙端口开放业务:" sshd_Port_read
echo "  你输入的端口号:$sshd_Port_read"
sed -i "s/$sshd_Port/Port $sshd_Port_read/g" /etc/ssh/sshd_config
echo "  已经设置端口为:`cat /etc/ssh/sshd_config|grep "Port\ "`"
sed -i "s/#PermitRootLogin yes/PermitRootLogin no/g" /etc/ssh/sshd_config
systemctl restart sshd.service
exit 0

 

运行测试(可循环使用)本次防火墙关闭/生产服务器都是关闭防火墙的

[root@localhost wwweee000]# firewall-cmd --state   
not running
[root@localhost ~]# sh sshd_config_Port.sh 
  当前sshd端口:Port 22
  请输入sshd服务的连接端口Port (1-65536)
  请确保其他端口冲突和防火墙端口开放业务:4096
  你输入的端口号:4096
  已经设置端口为:Port 4096

 

各路大神,求带飞有什么建议敬请留言。QQ:861996013,李辉 。转载请注明,谢谢。


原文链接:https://www.cnblogs.com/huixst/p/11450707.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:【Linux】全能系统监控工具dstat

下一篇:【Shell】检查软件包是否安装