腾讯云ubuntu24无法修改ssh默认服务端口号问题解决一例

购买的tencent云主机,部署了ubuntu 24最新版本操作系统,各种软件都安装个差不多以后想修改ssh服务端口,发现开始掉坑,无论如何你也改不了默认的ssh 22服务端口,首先,你查看sshd服务状态,会发现这个服务根本就没有:

systemctl status sshd
Unit sshd.service could not be found.

  正常的ubuntu安装以后肯定是有这个服务的,那直接去/etc/ssh/路径下面去修改sshd_config文件呢?正常一通修改,然后systemctl daemon-reload,systemctl restart ssh ,netstat -an | more 查看新配置的端口号根本不生效,还是坚固的在22端口监听。没办法联系腾讯云的客服,客服小哥要求连上机器去操作,我这着急演示,不敢让客服乱动配置,算了,还是自己研究吧,执行下面的命令:

root@VM-ubuntu:~# find / -name ssh.*
/etc/systemd/system/sockets.target.wants/ssh.socket
/etc/systemd/system/ssh.service.requires
/etc/systemd/system/ssh.service.requires/ssh.socket
/usr/lib/python3/dist-packages/sos/report/plugins/ssh.py
/usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/ssh.cpython-312.pyc
/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/ssh.py
/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/serialization/__pycache__/ssh.cpython-312.pyc
/usr/lib/systemd/system/ssh.service
/usr/lib/systemd/system/ssh.socket
/usr/share/man/man1/ssh.1.gz
/sys/fs/cgroup/system.slice/ssh.socket
/sys/fs/cgroup/system.slice/ssh.service
/run/systemd/generator/ssh.socket.d
/var/lib/systemd/deb-systemd-helper-enabled/ssh.socket.dsh-also
/var/lib/systemd/deb-systemd-helper-enabled/sockets.target.wants/ssh.socket
/var/lib/systemd/deb-systemd-helper-enabled/ssh.service.requires
/var/lib/systemd/deb-systemd-helper-enabled/ssh.service.requires/ssh.socket
/var/lib/systemd/deb-systemd-helper-enabled/ssh.service.dsh-also

发现有个叫做ssh.socket的服务,打开修改里面的内容变成下面这样:

root@VM-5-35-ubuntu:~# cat /usr/lib/systemd/system/ssh.socket
[Unit]
Description=OpenBSD Secure Shell server socket
Before=sockets.target ssh.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run

[Socket]
ListenStream=22
Accept=no
FreeBind=yes

[Install]
WantedBy=sockets.target
RequiredBy=ssh.service

  然后再打开/etc/default/ssh这个文件,修改内容如下:

# Default settings for openssh-server. This file is sourced by /bin/sh from
# /etc/init.d/ssh.

# Options to pass to sshd
SSHD_OPTS="-p 22222"

  在这里指定以下新的端口号,再打开/etc/ssh/sshd_config修改里面的内容:

Port=22222

然后systemctl daemon-reload,systemctl restart ssh 就可以了,记得放开防火墙

ufw allow 22222/tcp

测试的时候不要断开旧的ssh连接,因为万一有问题后续你就再也连不上去了,再打开一个新的ssh连接去测试,要是修改ssh端口成功就reboot重启确认是否有问题。

 

<think>我们正在处理一个关于Ubuntu 14.04离线安装SSH服务的问题。根据提供的引用信息,我们可以总结出两种主要的离线安装方法: 方法一:直接使用下载好的.deb安装包(引用[1]和引用[4]) 1. 按顺序安装以下.deb包(注意依赖顺序): - openssh-client - openssh-sftp-server - libck-connector0 - openssh-server - ssh (这是一个元包,会依赖上面所需的包) 方法二:在联网机器上下载所有依赖包(引用[2]) 1. 在联网的Ubuntu 14.04机器上下载openssh-server及其所有依赖包。 2. 将下载的包复制到离线机器上。 3. 使用dpkg -i命令安装,并使用apt-get install -f解决依赖问题。 由于用户要求离线安装,我们将详细说明这两种方法,并给出具体的步骤。 根据引用[1]和引用[4]提供的包名,我们可以具体化方法一。但是需要注意的是,不同架构(amd64或i386)需要不同的包。这里假设是64位系统(amd64)。 具体步骤: 方法一:使用预先下载的特定包(需要用户自己下载这些包,可以从官方仓库或可信源获取) 1. 下载以下包(以amd64为例): - openssh-client_6.6p1-2ubuntu1_amd64.deb - openssh-sftp-server_6.6p1-2ubuntu1_amd64.deb - libck-connector0_0.4.5-3.1ubuntu2_amd64.deb - openssh-server_6.6p1-2ubuntu1_amd64.deb - ssh_6.6p1-2ubuntu1_all.deb 2. 将下载的包放在离线机器的同一个目录下,例如:~/ssh_offline/ 3. 打开终端,进入该目录,然后按顺序安装: ```bash sudo dpkg -i openssh-client_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i openssh-sftp-server_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i libck-connector0_0.4.5-3.1ubuntu2_amd64.deb sudo dpkg -i openssh-server_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i ssh_6.6p1-2ubuntu1_all.deb ``` 4. 安装后,检查SSH服务是否启动: ```bash ps -e | grep sshd ``` 如果看到sshd进程,说明已经启动。如果没有,可以手动启动: ```bash sudo /etc/init.d/ssh start ``` 方法二:使用apt-offline(推荐,但需要另一台相同系统的联网机器) 1. 在联网的Ubuntu 14.04机器上,下载openssh-server及其所有依赖: ```bash mkdir ssh-offline cd ssh-offline apt-get download openssh-server apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances openssh-server | grep "^\w" | sort -u) ``` 注意:上面的命令可能会下载一些额外的包,但确保依赖完整。 2. 将整个ssh-offline目录复制到离线机器上。 3. 在离线机器上,进入该目录,使用以下命令安装所有包: ```bash sudo dpkg -i *.deb ``` 如果遇到依赖问题,可以运行: ```bash sudo apt-get install -f ``` 注意:由于是离线环境,apt-get install -f可能无法解决所有问题,所以尽量确保下载了所有依赖包。 4. 启动SSH服务并检查状态(同上)。 注意:引用[3]中提到的问题主要是源失效和版本冲突,离线安装时需要注意包的版本和架构匹配。 另外,安装完成后,可能需要配置防火墙(如果开启了的话)允许SSH端口默认22)。但Ubuntu 14.04默认没有防火墙(ufw),所以通常不需要。 最后,我们根据问题生成相关问题。</think>### Ubuntu 14.04 离线安装 SSH 服务方法 以下是两种可靠的离线安装方法,请根据您的环境选择: #### **方法一:手动安装 .deb 包(推荐)** 1. **下载所需安装包**(需在联网机器操作): - [openssh-client_6.6p1-2ubuntu1_amd64.deb](http://archive.ubuntu.com/ubuntu/pool/main/o/openssh/openssh-client_6.6p1-2ubuntu1_amd64.deb) - [openssh-sftp-server_6.6p1-2ubuntu1_amd64.deb](http://archive.ubuntu.com/ubuntu/pool/main/o/openssh/openssh-sftp-server_6.6p1-2ubuntu1_amd64.deb) - [libck-connector0_0.4.5-3.1ubuntu2_amd64.deb](http://archive.ubuntu.com/ubuntu/pool/main/c/consolekit/libck-connector0_0.4.5-3.1ubuntu2_amd64.deb) - [openssh-server_6.6p1-2ubuntu1_amd64.deb](http://archive.ubuntu.com/ubuntu/pool/main/o/openssh/openssh-server_6.6p1-2ubuntu1_amd64.deb) - [ssh_6.6p1-2ubuntu1_all.deb](http://archive.ubuntu.com/ubuntu/pool/main/o/openssh/ssh_6.6p1-2ubuntu1_all.deb) 2. **离线安装步骤**: ```bash # 按顺序安装依赖包 sudo dpkg -i openssh-client_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i openssh-sftp-server_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i libck-connector0_0.4.5-3.1ubuntu2_amd64.deb sudo dpkg -i openssh-server_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i ssh_6.6p1-2ubuntu1_all.deb # 启动SSH服务 sudo /etc/init.d/ssh start # 验证服务状态 ps -e | grep sshd # 应显示 sshd 进程 ``` #### **方法二:批量下载依赖包安装** 1. **在联网机器下载所有依赖**: ```bash mkdir ssh-offline && cd ssh-offline apt-get download openssh-server openssh-client openssh-sftp-server libck-connector0 ssh # 将整个目录复制到离线机 ``` 2. **离线安装**: ```bash sudo dpkg -i *.deb sudo apt-get install -f # 修复依赖 sudo service ssh start ``` #### **安装后配置** 1. 检查服务状态: ```bash sudo service ssh status ``` 2. 若未启动: ```bash sudo /etc/init.d/ssh restart ``` 3. 开放防火墙(如有): ```bash sudo ufw allow 22 # 或关闭防火墙: sudo ufw disable ``` > **注意事项**: > 1. 所有 .deb 包必须匹配系统架构(amd64/i386) > 2. 安装顺序需严格遵循依赖关系[^1][^4] > 3. 若出现依赖错误,尝试 `sudo apt-get install -f` 修复[^2] > 4. Ubuntu 14.04 默认包含 openssh-client,但需单独安装服务端[^3]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peihexian

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值