登录
    欢迎光临荷叶荷花香的个人小站~

CentOS开启ssh服务以及默认端口修改

实用技术 荷叶荷花香 48次浏览 0个评论

很多时候我们都是通过SSH 服务 来对 Linux 进行操作,而不是直接来操作Linux机器,包括对Linux服务器的操作,因此,设置SSH服务对于学习Linux来说属于必备技能(尤其是运维人员)。

在centos中ssh服务默认是已经被安装了的,可通过命令 rpm -qa | grep openssh 查看是否安装了ssh服务。

如果没有安装,那么第一步安装 ssh服务

使用 yum 安装 ssh 服务
yum install openssh-server

查看安装的 ssh 服务包
yum list installed | grep ssh

安装完成之后已经可以进行ssh 登录了,默认的ssh服务端口为 22

# 查看 ssh 状态
systemctl status sshd
# 启动 ssh
systemctl start sshd
# 停止 ssh
systemctl stop sshd

以下是更改SSH默认端口步骤。

1、备份 SSH 配置文件

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

2、修改配置文件

sudo vi /etc/ssh/sshd_config

修改内容,可以把端口修改为你想要修改的值:

这里可以在保留 22 端口的情况下,先增加一个新端口,以确保可以通过新端口连接,然后再禁用掉 22 端口。

# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 22
Port 2244
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

保存文件。

3、增加SElinux端口

在Centos7系统更改shhd_config的过程中,你会看到这段注释:

# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER

所以,下一步就是告诉SElinux这步操作,我们需要用到semanage

首先,安装下semanage

yum provides semanage

yum -y install policycoreutils-python

安装好后

添加端口:
semanage port -a -t ssh_port_t -p tcp 2244

删除端口:
semanage port -d -t ssh_port_t -p tcp 2244

检测是否成功

semanage port -l | grep ssh

当返回值出现2244和22即为成功。

4、配置防火墙FirewallD

首先检测防火墙是否已经启用,启用返回值runing,反之,为not running

firewall-cmd –state

若没有启用,需要启用

systemctl start firewalld
systemctl enable firewalld

防火墙设置命令如下:

关闭防火墙:systemctl stop firewalld.service
开启防火墙:systemctl start firewalld.service
关闭开机启动:systemctl disable firewalld.service
开启开机启动:systemctl enable firewalld.service

若已经启用,则进行下一步

查看防火墙的默认、活跃区域(zones)
firewall-cmd –get-default-zone
firewall-cmd –get-active-zones
看两条命令的返回值是否含有public,有则为正确。

端口永久开放
为了防止出错,22端口一同开放

与临时开放的区别在于多了permanent

firewall-cmd –permanent –zone=public –add-port=22/tcp
firewall-cmd –permanent –zone=public –add-port=2244/tcp
防火墙重载

firewall-cmd –reload
查看已暴露端口

firewall-cmd –permanent –list-port
firewall-cmd –zone=public –list-all
重启SSH
systemctl restart sshd.service

之后用Putty、Xshell之类的软件换成2244端口登录,看能否成功登录。

5、禁用22端口
首先,删除ssh运行端口

vi etc/ssh/sshd_config
在Port 22前加#成为#Port 22后保存退出即可

在把防火墙中的22端口移除

firewall-cmd –permanent –zone=public –remove-port=22/tcp
重启并查看是否移除

firewall-cmd –reload
firewall-cmd –permanent –list-port
若移除,则成功。

重启SSH
systemctl restart sshd.service

如果没有生效就重启服务器
reboot


荷叶荷花香 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明CentOS开启ssh服务以及默认端口修改
喜欢 (0)
[radio585@163.com]
分享 (0)
关于作者:
出淤泥而不染 · 濯清涟而不妖 · 自然之道本无为 · 若执无为便有为
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址