虚拟机修改默认SSH端口号为10022

博客介绍了虚拟机将默认SSH端口号修改为10022的方法,强调修改的是sshd_config文件。还提及若遇selinux权限管控问题的解决办法,包括临时和永久关闭权限的操作。最后说明可按需去掉22端口,还补充了centos7防火墙设置等相关知识链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虚拟机修改默认SSH端口号为10022

1.  修改配置文件:vi /etc/ssh/sshd_config
2、 使配置文件生效,重启服务:systemctl restart sshd
3.  开启防火墙10022端口号:firewall-cmd --zone=public --add-port=10022/tcp --permanent
4. 重启防火墙:firewall-cmd --reload(重启后开启端口号的操作才会生效)
5. 查看所有开放端口:firewall-cmd --list-ports(能看到开放的端口号)
6. 查看sshd的状态:systemctl status sshd.service

注意:这里是修改sshd_config文件,不是修改ssh_config文件,两者是有区别的ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。 /etc/ssh/ssh_config配置文件中的"Port"设置连接到远程主机的端口(就是你这台机器ssh连接别的机器的默认口)s/etc/ssh/sshd_config配置文件中的"Port"设置sshd监听的端口号(就是别人的机器登录你的机器的端口号)
7. 如果出现下面截图情况就是selinux权限管控了(正常应该不会出现这个问题),此时可以试着关闭selinux权限管控。如果不出现下面红色权限提示就跳过此步。
在这里插入图片描述
关闭selinux权限方法:
1、临时关闭selinux(服务器重启后失效):
setenforce 0
getenforce 返回Permissive说明临时关闭成功

2、永久关闭selinux
vi /etc/selinux/config 把 SELINUX=enforcing改为SELINUX=disabled:重启服务器生效
不生效就执行systemctl restart sshd重启配置文件
8. 再次查看ssh的状态:如下图:22号端口和10022端口都可以使用,如果不需要22端口在配置文件去掉22端口既可。
在这里插入图片描述
补充知识:
centos7 防火墙设置:来自 https://blog.csdn.net/shallow72/article/details/123920288
Centos 7修改ssh端口启动失败解决办法来自 https://blog.csdn.net/JackMaF/article/details/119369639?ops_request_misc=&request_id=&biz_id=102&utm_term=Centos7修改SSH端口号不成功&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-119369639.142^v11^pc_search_result_control_group,157^v12^control&spm=1018.2226.3001.4187

<think>好的,我需要回答用户关于SSH连接虚拟机默认端口号和配置方法的问题。首先,我要回忆一下SSH的基本知识。SSH默认端口是22,这个我记得没错。用户可能想知道如何确认这个端口是否在虚拟机上开放,以及如何修改它。 接下来,我得考虑不同操作系统的配置步骤。用户提到了Ubuntu和CentOS,所以需要分别说明。对于Ubuntu,安装openssh-server后,默认端口就是22,但用户可能需要检查sshd_config文件来确认。CentOS的情况类似,不过安装命令是yum而不是apt。 然后,关于修改端口,用户可能需要编辑配置文件,将#Port 22的注释去掉,改成其他端口,比如2222,然后重启服务。这部分需要注意权限问题,比如使用sudo。另外,防火墙设置也很重要,必须放行新的端口,否则连接会失败。Ubuntu用ufw,CentOS用firewalld或者iptables。 用户还可能遇到无法连接的情况,这时候需要检查SSH服务是否运行,端口是否正确,以及防火墙是否允许。这些故障排除步骤也应该包括在回答中,帮助用户自行解决问题。 最后,要确保引用正确的参考资料。用户提供的三个引用中,前两个是关于Ubuntu安装和启动SSH的,第三个是CentOS检查安装的。我需要将这些引用自然地融入回答中,比如在安装步骤和配置步骤后面添加引用标记。 整理思路的时候,要注意分点回答,结构清晰。先说明默认端口,再分操作系统讲解配置方法,接着是如何修改端口和防火墙设置,最后是常见问题排查。这样用户能一步步按照指引操作,避免遗漏关键步骤。 另外,需要提醒用户修改端口后可能的安全考虑,比如避免使用常见端口,以及确保防火墙规则正确。这些细节能帮助用户更安全地配置SSH服务,减少被攻击的风险。 总结一下,回答的结构应该是: 1. 默认端口号 2. Ubuntu的安装和配置 3. CentOS的安装和配置 4. 修改端口号的步骤 5. 防火墙配置 6. 常见问题排查 每个部分都要简明扼要,使用正确的命令和配置文件路径,确保用户能准确执行。同时,引用要正确对应到用户提供的参考资料,增强回答的可信度。</think>### SSH连接虚拟机默认端口及配置方法 #### 1. **SSH默认端口号** SSH服务的默认端口号为$22$。在未修改配置的情况下,客户端连接时默认使用该端口[^1][^2][^3]。 --- #### 2. **Ubuntu系统配置SSH端口** - **安装SSH服务** 在终端执行以下命令安装: ```bash sudo apt install openssh-server # 引用 ``` - **查看端口配置** 打开配置文件: ```bash sudo nano /etc/ssh/sshd_config ``` 确认`Port 22`是否启用(默认已启用)。 - **重启服务生效** ```bash sudo service ssh restart # 引用 ``` --- #### 3. **CentOS系统配置SSH端口** - **安装SSH服务** 检查是否已安装: ```bash yum list installed | grep openssh-server # 引用[^3] ``` 未安装则执行: ```bash yum install openssh-server ``` - **修改端口(可选)** 编辑配置文件: ```bash sudo vi /etc/ssh/sshd_config ``` 取消注释`#Port 22`或添加新端口(如`Port 2222`)。 - **重启服务** ```bash systemctl restart sshd ``` --- #### 4. **修改默认端口的注意事项** - **防火墙放行新端口** - **Ubuntu** ```bash sudo ufw allow 2222/tcp # 替换为目标端口 ``` - **CentOS** ```bash firewall-cmd --permanent --add-port=2222/tcp # 替换为目标端口 firewall-cmd --reload ``` - **客户端连接指定端口** 使用`-p`参数指定端口: ```bash ssh username@虚拟机IP -p 2222 ``` --- #### 5. **常见问题排查** - **连接失败的可能原因** 1. SSH服务未运行:执行`sudo service ssh status`检查状态。 2. 端口被防火墙拦截:确认防火墙已放行目标端口。 3. 配置文件语法错误:修改后需重启服务生效。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值