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

1.新建用户wwweee000

[[email protected] ~]# useradd wwweee000
[[email protected] ~]# 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"

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

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

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

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

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

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

4.修改 #PermitRootLogin yes 为 PermitRootLogin no

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

5.重启sshd服务

[[email protected] ~]# systemctl restart sshd.service

6.使用 wwweee000 用户登录变化

[[email protected] ~]$ 

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

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

[[email protected] wwweee000]# firewall-cmd --state
not running
[[email protected] ~]# 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

时间: 2024-08-02 21:32:16

centos 7 修改sshd | 禁止 root登录及sshd端口脚本定义的相关文章

设置ssh证书登录,禁止root登录,禁止su到root,sudo权限设置

一.设置ssh证书登录,禁止root登录 useradd newuser passwd newuser vim /etc/ssh/sshd_config PermitRootLogin no RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no ClientAliveInterval 30 ClientAliveCountMax 5 二.禁止su vim /etc/pam.d/su auth requir

centos 7 禁止root登录及更改ssh端口号

vim /etc/ssh/sshd_config PermitRootLogin yes => PermitRootLogin no systemctl restart sshd.service netstat -tulnp|grep sshd vim /etc/ssh/sshd_config Port 22 => Port 20000 systemctl restart sshd.service netstat -tulnp|grep sshd

ssh远程登录,禁止root登录

1,useradd xiaobingpasswd xiaobing (设置密码) 2,禁止root登陆,修改 /etc/ssh/sshd_configPermitRootLogin yes 改为 PermitRootLogin no systemctlrestart sshd 3,增加sudoer权限 4,vi /etc/sudoers增加: xiaobing ALL=(ALL) ALL

centos aws 修改使用密码ssh登录

因为使用pem登录有很多局限性,在此修改为用密码但不是root登录 1.关闭selinux(要重启) vi /etc/selinux/config SELINUX=disabled 2.重置root密码 sudo passwd root 3.添加用户.并添加到sudoer sudo useradd userName sudo passwd userName 然后:修改/etc/sudoers,讲root all那一行复制一下,讲这一行的开头root修改userName即可 4.修改配置.重启服务

centos下修改mysql的root密码

mysql安装后,mysql命令行登录mysql提示如下错误: Access denied for user 'root'@'localhost' (using password:YES) 可能的原因是你不知道root的密码导致的. 可以使用如下方法修改root用户密码: 1.修改service的启动参数 sudo vi /usr/lib/systemd/system/mysqld.service 启动命令加skip-grant-tables参数 ExecStart=/usr/bin/mysql

ssh禁止root用户登录

查看ssh服务是否安装 [[email protected] ~]# rpm -qa |grep -E '(ssh.*server|server.*ssh)' openssh-server-5.3p1-70.el6.i686 查看配置文件 [[email protected] ~]# rpm -qc openssh-server /etc/pam.d/ssh-keycat /etc/pam.d/sshd /etc/ssh/sshd_config /etc/sysconfig/sshd man手册

linux禁止root用户直接登录sshd并修改默认端口

linux最高权限用户root,默认可以直接登录sshd.为了提高服务器的安全度,需要对它进行禁止,使得攻击者无法通过暴力破解来获取root权限. 1,新建一个用户: #useradd xxx (xxx为你要新建的用户名) 2,为新用户设置密码: #passwd xxx (xxx为你要新建的用户名) 3,修改SSHD配置,禁止root直接登录 #vi /etc/ssh/sshd_config 查找“#PermitRootLogin yes”,将前面的“#”去掉,短尾“Yes”改为“No”,并保存

linux修改ssh端口 以及禁止root远程登录 (实验机 CentOs)

把ssh默认远程连接端口修改为3333 1.编辑防火墙配置: vi /etc/sysconfig/iptables 防火墙新增端口3333,方法如下: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3333 -j ACCEPT 具体是这样做: ====================================================================== # Firewall configuration wri

Linux下修改ssh端口和禁止root远程登录

我们都知道,ssh默认端口号是22,要更改端口号为9688,需要编辑/etc/ssh/ssh_config和/etc/ssh/sshd_config两个文件即可: 禁止root远程登录,则需要编辑/etc/ssh/sshd_config.(可能部分Linux目录为/etc/sshd,请根据实际情况修改) 操作步骤如下: 1.编辑/etc/ssh/ssh_config文件: [root[email protected] ~]# cat /etc/ssh/ssh_config |grep Port