Skip to content

TIP

本文以9999端口为例,将默认端口22修改9999

修改sshd_config配置文件

打开sshd_config配置文件,找到【Port 22】 ,删除注释符号【#】,将22改为要设置的目的端口,然后保存文件并退出。

bash
vi /etc/ssh/sshd_config

防火墙开放当前设置的端口

添加端口到防火墙:

bash
firewall-cmd --zone=public --add-port=9999/tcp --permanent

重启防火墙:

bash
firewall-cmd --reload

开放ssh使用的端口

查看开放ssh使用的端口:

bash
semanage port -l | grep ssh

开放当前设置的ssh端口:

bash
semanage port -a -t ssh_port_t -p tcp 9999

重启ssh:

bash
systemctl restart sshd

重启服务器

重新启动服务器,就可以使用新设置的端口登录ssh了:

bash
sudo reboot

WARNING

注意:设置端口前,先确认该端口是否被占用,以免修改后无法连接。

SSH 查看log

列出所有SSH登录成功的记录,包括登录用户、登录时间、登录IP地址等信息,并输出到控制台。

bash
sudo grep "Accepted" /var/log/secure | grep "sshd" | grep -v "sudo" | awk '{print $1, $2, $3, $9, $11}'

列出所有使用公钥登录成功的记录,包括登录用户、登录时间、登录IP地址等信息,并输出到控制台。

bash
sudo grep "Accepted publickey" /var/log/secure | awk '{print $1, $2, $3, $9, $11, $13}'

列出所有连接到SSH端口22失败的记录,包括登录IP地址和端口,并输出到控制台。

bash
sudo grep "sshd.*Connection refused" /var/log/messages | awk '{print $1, $2, $3, $9}'

列出所有SSH登录失败的记录,包括登录用户、登录时间、登录IP地址等信息,并输出到控制台。

bash
sudo grep "Failed" /var/log/secure | grep "sshd" | grep -v "sudo" | awk '{print $1, $2, $3, $9, $11}'

列出所有使用公钥登录失败的记录,包括登录用户、登录时间、登录IP地址等信息,并输出到控制台。

bash
sudo grep "Failed publickey" /var/log/secure | awk '{print $1, $2, $3, $9, $11, $13}'