新安装ubuntu 23.04修改sshd_config文件无效

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
virtual163
帖子: 41
注册时间: 2018-01-30 12:55
系统: ubuntu 23.04
来自: china
联系:

新安装ubuntu 23.04修改sshd_config文件无效

#1

帖子 virtual163 » 2023-04-21 9:45

昨天ubuntu23.04 系统发布后, 下载了ubuntu23.04的桌面版和Server版的镜像, 经过测试发现, 通过修改sshd_config来修改ssh的默认端口,都失败了, 是ubuntu23.04的修改方式改变了还是???有人知道吗?
virtual163
帖子: 41
注册时间: 2018-01-30 12:55
系统: ubuntu 23.04
来自: china
联系:

Re: 新安装ubuntu 23.04修改sshd_config文件无效

#2

帖子 virtual163 » 2023-04-21 9:47

virtual163 写了: 2023-04-21 9:45 昨天ubuntu23.04 系统发布后, 下载了ubuntu23.04的桌面版和Server版的镜像, 经过测试发现, 通过修改sshd_config来修改ssh的默认端口,都失败了, 是ubuntu23.04的修改方式改变了还是???有人知道吗?
注:之前的版本都是这样的修改方式, 都可以正常修改,但是在23.04里确无效了,不知道是什么原因
头像
astolia
论坛版主
帖子: 6513
注册时间: 2008-09-18 13:11

Re: 新安装ubuntu 23.04修改sshd_config文件无效

#3

帖子 astolia » 2023-04-21 13:27

你上个帖子 https://forum.ubuntu.com.cn/viewtopic.php?t=493946 里面我不是给你说了原因吗,还在这里问?

/etc/ssh/sshd_config是供ssh.service使用的,但ssh.service默认情况下是没有直接起效,你用systemctl status ssh.service看可以看到它是disabled,起效的是ssh.socket。你用systemctl cat ssh.socket看,里面配置的是监听22端口。用sudo ss -ltnp也可以看到,监听22端口的是systemd而不是sshd

如果你想采取这种方案,在/etc/systemd/system/ssh.socket.d/下面创建一个随便什么名字的配置文件,比如a.conf,覆盖掉ssh.socket的相关设置就行,比如写上

代码: 全选

[Socket]
ListenStream=
ListenStream=2222
上面要加个空值的ListenStream=,表示禁用掉ssh.socket里配置的ListenStream=22,否则是追加一项。然后让systemd重载配置sudo systemctl daemon-reload,再用systemctl cat ssh.socket看时,后面就会有你设置的配置项了。再重启一下ssh.socket,sudo systemctl restart ssh.socket,就把systemd的监听端口改成2222了

如果你想要让sshd直接监听,把/etc/systemd/system/ssh.service.d/00-socket.conf删掉后重载配置再禁用ssh.socket并启用ssh.service即可
sudo systemctl daemon-reload
sudo systemctl disable ssh.socket
sudo systemctl stop ssh.socket
sudo systemctl enable ssh.service
sudo systemctl restart ssh.service
头像
qy117121
论坛版主
帖子: 50554
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: 新安装ubuntu 23.04修改sshd_config文件无效

#4

帖子 qy117121 » 2023-04-21 15:28

你报bug那里人家不是给了回复改端口的方法了吗
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

Ubuntu 20.04 快速设置指南,请配合浏浏览器自动翻译使用

邮箱 chuan@ubuntu.org.cn
virtual163
帖子: 41
注册时间: 2018-01-30 12:55
系统: ubuntu 23.04
来自: china
联系:

Re: 新安装ubuntu 23.04修改sshd_config文件无效

#5

帖子 virtual163 » 2023-04-21 15:44

qy117121 写了: 2023-04-21 15:28 你报bug那里人家不是给了回复改端口的方法了吗
为什么在22.04里面没有这个问题呢, 现在主要是在ThinkPad T14 Gen2的机器上装新的系统进不了系统
virtual163
帖子: 41
注册时间: 2018-01-30 12:55
系统: ubuntu 23.04
来自: china
联系:

Re: 新安装ubuntu 23.04修改sshd_config文件无效

#6

帖子 virtual163 » 2023-04-21 16:04

astolia 写了: 2023-04-21 13:27 你上个帖子 https://forum.ubuntu.com.cn/viewtopic.php?t=493946 里面我不是给你说了原因吗,还在这里问?

/etc/ssh/sshd_config是供ssh.service使用的,但ssh.service默认情况下是没有直接起效,你用systemctl status ssh.service看可以看到它是disabled,起效的是ssh.socket。你用systemctl cat ssh.socket看,里面配置的是监听22端口。用sudo ss -ltnp也可以看到,监听22端口的是systemd而不是sshd

如果你想采取这种方案,在/etc/systemd/system/ssh.socket.d/下面创建一个随便什么名字的配置文件,比如a.conf,覆盖掉ssh.socket的相关设置就行,比如写上

代码: 全选

[Socket]
ListenStream=
ListenStream=2222
上面要加个空值的ListenStream=,表示禁用掉ssh.socket里配置的ListenStream=22,否则是追加一项。然后让systemd重载配置sudo systemctl daemon-reload,再用systemctl cat ssh.socket看时,后面就会有你设置的配置项了。再重启一下ssh.socket,sudo systemctl restart ssh.socket,就把systemd的监听端口改成2222了

如果你想要让sshd直接监听,把/etc/systemd/system/ssh.service.d/00-socket.conf删掉后重载配置再禁用ssh.socket并启用ssh.service即可
sudo systemctl daemon-reload
sudo systemctl disable ssh.socket
sudo systemctl stop ssh.socket
sudo systemctl enable ssh.service
sudo systemctl restart ssh.service
这个明白了, 可能是22.04 升到22.10的时候规则变了, 修改方式也变了, 这边的端口在系统更新的时候自动改了, 没有注意到。现在就是在笔记本上装完系统以后进不了系统不知道是什么原因了,
virtual163
帖子: 41
注册时间: 2018-01-30 12:55
系统: ubuntu 23.04
来自: china
联系:

Re: 新安装ubuntu 23.04修改sshd_config文件无效

#7

帖子 virtual163 » 2023-04-21 17:28

virtual163 写了: 2023-04-21 16:04
astolia 写了: 2023-04-21 13:27 你上个帖子 https://forum.ubuntu.com.cn/viewtopic.php?t=493946 里面我不是给你说了原因吗,还在这里问?

/etc/ssh/sshd_config是供ssh.service使用的,但ssh.service默认情况下是没有直接起效,你用systemctl status ssh.service看可以看到它是disabled,起效的是ssh.socket。你用systemctl cat ssh.socket看,里面配置的是监听22端口。用sudo ss -ltnp也可以看到,监听22端口的是systemd而不是sshd

如果你想采取这种方案,在/etc/systemd/system/ssh.socket.d/下面创建一个随便什么名字的配置文件,比如a.conf,覆盖掉ssh.socket的相关设置就行,比如写上

代码: 全选

[Socket]
ListenStream=
ListenStream=2222
上面要加个空值的ListenStream=,表示禁用掉ssh.socket里配置的ListenStream=22,否则是追加一项。然后让systemd重载配置sudo systemctl daemon-reload,再用systemctl cat ssh.socket看时,后面就会有你设置的配置项了。再重启一下ssh.socket,sudo systemctl restart ssh.socket,就把systemd的监听端口改成2222了

如果你想要让sshd直接监听,把/etc/systemd/system/ssh.service.d/00-socket.conf删掉后重载配置再禁用ssh.socket并启用ssh.service即可
sudo systemctl daemon-reload
sudo systemctl disable ssh.socket
sudo systemctl stop ssh.socket
sudo systemctl enable ssh.service
sudo systemctl restart ssh.service
这个明白了, 可能是22.04 升到22.10的时候规则变了, 修改方式也变了, 这边的端口在系统更新的时候自动改了, 没有注意到。现在就是在笔记本上装完系统以后进不了系统不知道是什么原因了,
搞定了, 长时间没有装系统了, 忘了,和Nvidia的显卡有关系
回复