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}'