升级后,某些端口被关闭了!?现在端口 22 不再开放,服务器无法通过 SSH 或 SFTP 访问
所有其他服务(如 apache、mysql、webmin 等)均按预期运行
已尝试重启系统
升级前打开端口
# nmap -PN 127.0.0.1
Host is up (0.0000090s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
10000/tcp open snet-sensor-mgmt
升级后开放端口
# nmap -PN 127.0.0.1
Host is up (0.0011s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
10000/tcp open snet-sensor-mgmt
以下是升级过程中的具体步骤。升级已在多台服务器上进行,升级完成后,所有情况下都出现相同的问题,端口均已关闭
第 1 步:将 mysql 5.6.15 升级到 5.6.20
service mysql stop
dpkg -r mysql
dpkg -r mysql-client
dpkg -r mysql-client-5.5
dpkg -r mysql-common
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.20-debian6.0-x86_64.deb && dpkg -i mysql-5.6.20-debian6.0-x86_64.deb
cd /usr/local && ln -s /opt/mysql/server-5.6 mysql && cd mysql && scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql
rm /opt/mysql/server-5.6/my.cnf && ln -s /var/ini/my.cnf /opt/mysql/server-5.6/my.cnf
cp support-files/mysql.server /etc/init.d/mysql
update-rc.d mysql defaults
service mysql start
第 2 步:进一步升级
apt-get update && apt-get upgrade
升级过程中某些端口不再开放,可能出了什么问题?如何重新打开已关闭的端口?
以下端口不再开放:
22 ssh
3306 mysql
Mysql 正在运行(网页可以访问)但是我无法通过 SSH(putty)连接到服务器,因为升级过程中端口 22 不知何故被关闭了
putty错误
Server unexpected closed network connection
答案1
我记得默认的 MySQL 配置不是通过 TCP 监听,而是仅通过套接字文件监听,这解释了为什么升级后端口 3309 未绑定。很可能你最终还是选择了默认配置。
从您分享的命令中无法辨别出 sshd 为何无法运行,但可能是某些配置错误导致sshd
启动时无法运行。如果您无法访问系统并向我们提供更多信息,就没有足够的信息让我们继续思考其他事情。
更新
根据您分享的输出,sshd
抱怨与openssl
版本不匹配。访问您的机器并运行
apt-get update
apt-get install openssl openssh-server libssl1.0.0
如果您在更新时遇到错误,这应该可以修复 APT。但请注意,您需要在此之后检查您的配置:
apt-get install -f
这样就能够解决问题了。
答案2
您需要物理访问机器才能重新启动 sshd。启动时运行的默认服务可能已发生某种变化。如果您使用的是旧版 initd,则应参阅 的手册页update-rc.d
。如果您使用的是当前版 systemd,则应参阅 的手册页service
。SFTP 使用 SSH 服务,因此如果您的 sshd 不可用,您的 sftp 也不可用。您可以通过 Web 浏览器访问 Web 服务并不意味着它按预期运行。可能存在隐藏故障的缓存机制。
从您分享的内容来看,似乎您在更新过程中遇到了问题。安装的软件包版本可能不兼容。运行apt-get -f install
apt-get 来修复该问题。