如何通过外网安全登录Linux服务器地址的操作步骤?

要通过外网登录Linux服务器,需要完成服务器端配置、网络设置及客户端连接操作,以下是详细步骤,涵盖准备工作、核心配置、连接方法及常见问题排查。

如何外网登录linux服务器地址

准备工作

  1. 服务器必备条件

    • Linux服务器已安装并运行SSH服务(默认大多数发行版已安装)。
    • 服务器拥有公网IP地址(如云服务器的弹性公网IP,或路由器端口映射后的内网IP)。
    • 服务器网络可访问(防火墙、安全组已开放SSH端口)。
  2. 客户端工具

    • Windows:PuTTY(图形化)、Xshell、或WSL/PowerShell内置SSH命令。
    • macOS/Linux:终端自带SSH命令(ssh)。
  3. 关键信息

    • 服务器公网IP(或域名)。
    • SSH端口号(默认22,可自定义)。
    • 服务器登录用户名(如root或普通用户)。

服务器端配置

确保SSH服务运行

检查SSH服务状态:

sudo systemctl status sshd  # CentOS/RedHat
sudo systemctl status ssh    # Ubuntu/Debian

若未运行,启动并设置开机自启:

sudo systemctl start sshd/ssh
sudo systemctl enable sshd/ssh

配置SSH允许外网登录

编辑SSH配置文件(/etc/ssh/sshd_config):

sudo vim /etc/ssh/sshd_config

关键参数修改:

如何外网登录linux服务器地址

  • PermitRootLogin yes:允许root直接登录(不推荐,建议改为no改用普通用户)。
  • PasswordAuthentication yes:允许密码登录(若使用密钥认证,可改为no)。
  • Port 22:自定义SSH端口(如Port 2222,避免默认端口扫描)。
  • AllowUsers user1 user2:限制允许登录的用户(可选)。

保存后重启SSH服务:

sudo systemctl restart sshd/ssh

开放防火墙端口

根据系统防火墙类型开放端口:

  • Ubuntu/Debian(ufw)
    sudo ufw allow 22/tcp    # 默认端口
    sudo ufw allow 2222/tcp  # 自定义端口
    sudo ufw reload
  • CentOS/RedHat(firewalld)
    sudo firewall-cmd --permanent --add-port=22/tcp
    sudo firewall-cmd --permanent --add-port=2222/tcp
    sudo firewall-cmd --reload
  • 云服务器安全组:若使用阿里云、腾讯云等,需在安全组规则中添加入方向,允许源IP访问SSH端口(如0.0.0.0/0表示允许所有IP,建议限制特定IP)。

配置内网穿透(可选,无公网IP时)

若服务器在内网(如家庭局域网),需通过路由器端口映射或内网穿透工具(如花生壳、frp)将公网请求转发到服务器内网IP。

  • 路由器端口映射:登录路由器管理界面,在“虚拟服务器”或“端口转发”中,将公网端口映射到服务器内网IP的SSH端口。

客户端连接方法

命令行连接(通用)

格式:ssh username@公网IP -p 端口号
示例:

ssh root@123.45.67.89 -p 22    # 默认端口
ssh user@123.45.67.89 -p 2222  # 自定义端口

首次连接会提示“Are you sure you want to continue connecting (yes/no)?”,输入yes即可。

Windows图形化工具(以PuTTY为例)

  • 下载并打开PuTTY,输入“Host Name (or IP address)”为服务器公网IP。
  • “Connection type”选择“SSH”,“Port”输入端口号(如22)。
  • 在“Connection > Data”中输入“Auto-login username”(登录用户名)。
  • 点击“Open”,首次连接会弹出安全警告,选择“是”,输入密码即可登录。

安全加固建议

  1. 禁用root直接登录
    修改/etc/ssh/sshd_configPermitRootLogin no,通过普通用户登录后切换至root(sudo su -)。

  2. 使用密钥认证代替密码

    如何外网登录linux服务器地址

    • 客户端生成密钥对
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

      生成后会在~/.ssh/目录下得到id_rsa(私钥)和id_rsa.pub(公钥)。

    • 上传公钥到服务器
      ssh-copy-id user@公网IP -p 端口号

      或手动将公钥内容追加到服务器~/.ssh/authorized_keys文件中。

    • 禁用密码登录
      修改/etc/ssh/sshd_configPasswordAuthentication no,重启SSH服务。
  3. 定期更新SSH服务

    sudo apt update && sudo apt upgrade openssh-server  # Ubuntu/Debian
    sudo yum update openssh-server                      # CentOS/RedHat

常见问题排查

问题现象 可能原因及解决方法
连接超时/无法连接 检查公网IP是否正确;2. 确认防火墙/安全组已开放SSH端口;3. 检查SSH服务是否运行。
提示“Permission denied” 检查用户名/密码错误;2. 若使用密钥认证,确认公钥已上传到服务器;3. 检查~/.ssh目录权限(需700,authorized_keys需600)。
连接后立即断开 检查服务器磁盘空间(df -h);2. 检查SSH配置MaxSessionsLoginGraceTime参数;3. 确认网络稳定。

FAQs

Q1:为什么外网无法连接SSH,但内网可以?
A:通常因防火墙或安全组未开放SSH端口,需检查:

  1. 服务器防火墙(如ufw、firewalld)是否允许外网访问SSH端口;
  2. 云服务器安全组是否添加了入方向规则(源IP为0.0.0.0/0或特定IP,端口为SSH端口);
  3. 若为内网服务器,需在路由器上配置端口映射,将公网端口转发到服务器内网IP的SSH端口。

Q2:如何提高SSH连接的安全性?
A:可通过以下措施加固:

  1. 修改默认端口:将SSH端口从22改为其他高位端口(如2222),减少扫描攻击;
  2. 禁用root登录:设置PermitRootLogin no,通过普通用户登录后提权;
  3. 使用密钥认证:关闭密码登录(PasswordAuthentication no),仅允许密钥对认证;
  4. 限制访问IP:在防火墙或SSH配置中使用AllowUsersDenyUsers限制允许登录的用户IP;
  5. 定期更新:及时更新SSH服务版本,修复已知漏洞。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/38672.html

(0)
酷番叔酷番叔
上一篇 2025年10月9日 01:51
下一篇 2025年10月9日 02:11

相关推荐

  • Linux中如何去除行号?实用命令与操作步骤解析?

    在Linux系统中,处理文本文件时经常需要去除行号,尤其是从代码、日志或配置文件中复制内容时,多余的行号会影响使用,去除行号的方法有多种,可根据场景选择合适的工具,如sed、awk、vim等,下面详细介绍这些方法的具体操作和适用场景,使用sed命令去除行号sed(Stream Editor)是Linux中强大的……

    2025年9月18日
    8200
  • Linux系统如何更换为Win7?操作步骤与方法详解?

    将Linux系统更换为Windows 7是一个涉及数据备份、系统安装和驱动配置的过程,需谨慎操作以避免数据丢失或硬件兼容性问题,以下是详细步骤及注意事项:前期准备工作数据备份重装系统会清除Linux分区数据,需提前备份重要文件,可通过以下方式操作:外部存储设备:将Linux家目录(/home)下的文件复制到U盘……

    2025年9月27日
    7900
  • Linux文件权限怎么查看?

    使用 ls -l 命令(最常用)命令示例:ls -l 文件名 # 查看单个文件ls -l # 查看当前目录所有文件权限ls -ld 目录名 # 查看目录本身权限(而非内容)输出示例:-rwxr-xr– 1 user group 4096 Jan 10 15:30 example.txt权限字段解析(共10个字……

    2025年7月9日
    8900
  • Linux虚拟机如何配置实现上网?

    Linux虚拟机作为开发、测试和服务器部署的常用环境,实现上网功能是其基础需求之一,虚拟机上网的核心在于虚拟化软件(如VMware、VirtualBox)提供的网络模式,不同模式通过虚拟网络设备与宿主机物理网络的交互方式,实现虚拟机与外部网络的连接,以下是常见实现方式及配置要点,NAT模式(网络地址转换)NAT……

    2025年10月7日
    6700
  • 如何利用rsync的a、v、z参数优化数据传输?

    如何将文件传输到 Linux 系统:8 种专业方法详解在 Linux 系统管理中,文件传输是高频操作,无论是开发者部署代码、运维人员同步配置,还是普通用户共享文档,掌握高效安全的传输方法至关重要,本文提供 8 种经过验证的方案,涵盖命令行与图形界面工具,兼顾安全性与效率,所有步骤均通过 Ubuntu/CentO……

    2025年7月9日
    12000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信