From 6882977dcef1c364b05741ca82a56c09f70982a0 Mon Sep 17 00:00:00 2001 From: 3344 Date: Wed, 28 Jan 2026 11:49:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20ssh=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ssh程 | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ssh程 diff --git a/ssh程 b/ssh程 new file mode 100644 index 0000000..041232e --- /dev/null +++ b/ssh程 @@ -0,0 +1,29 @@ +#!/bin/bash + +# 1. 备份原始配置,防止改错 +sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak +echo "已备份原始配置到 /etc/ssh/sshd_config.bak" + +# 2. 修改 ListenAddress 确保监听所有接口 (0.0.0.0) +# 这一步解决“只能局域网连,外部连不上”的监听问题 +sudo sed -i 's/^#ListenAddress 0.0.0.0/ListenAddress 0.0.0.0/' /etc/ssh/sshd_config +sudo sed -i 's/^ListenAddress ::/#ListenAddress ::/' /etc/ssh/sshd_config + +# 3. 允许密码登录 (确保没有被禁用) +sudo sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config +sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config + +# 4. 允许 Root 登录 (可选,视你的安全需求而定) +# 如果你需要远程用 root 登录,请取消下面这行的注释 +# sudo sed -i 's/^#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config + +# 5. 检查配置文件语法是否正确 +sudo sshd -t +if [ $? -eq 0 ]; then + echo "配置检查通过,正在重启 SSH 服务..." + sudo systemctl restart ssh + echo "修复完成!现在 SSH 应该可以接收来自所有接口的连接了。" +else + echo "配置文件修改有误,请检查!" + exit 1 +fi \ No newline at end of file