个人电脑一般是windows或mac,服务器不少采用linux系统,在信息化的今天,远程访问服务器变得越来越普遍。SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录和其他安全网络服务。通过 SSH,我们可以从个人电脑或设备访问内网的 Linux 服务器,即使在不直接暴露服务器的情况下。本文将详细介绍如何实现在没有公网IP的情况下,让外网 SSH 远程访问内网 Linux 服务器的全过程,包括本地ssh服务配置和nat123端口映射设置等。

要在外地通过网络SSH远程访问内网中的Linux服务器,你需要通过一种称为“内网穿透”或“端口转发”的方法来实现。由于内网服务器环境在没有公网IP的情况下,通常无法直接从外部网络访问,在本地SSH正常运行的情况下,还需要借助一些像nat123内外网映射的工具或服务来建立连接。
一、SSH 服务安装与配置
在实现外网 SSH 远程访问内网 Linux 服务器之前,必须确保 SSH 服务正确安装在目标 Linux 服务器上,并进行适当的配置。
1、检查 SSH 服务器安装状态
首先,需要检查 Linux 服务器上是否已经安装了 SSH 服务器。可以使用以下命令查看:
ps -e | grep ssh
如果看到 sshd 进程,说明 SSH 服务器已经安装。
2、安装 SSH 服务端
如果服务器上没有安装 SSH 服务,需要根据所使用的 Linux 发行版进行安装。
对于基于 Debian 的系统(如 Ubuntu),可以使用以下命令安装 OpenSSH 服务器:
sudo apt-get update
sudo apt-get install openssh-server
对于基于 Red Hat 的系统(如 CentOS),可以使用以下命令安装:
sudo yum install openssh-server
3 、配置 SSH 服务
SSH 服务器的配置文件通常位于 /etc/ssh/sshd_config。在进行任何修改之前,建议备份原始配置文件:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup
然后,使用文本编辑器打开配置文件进行编辑:
sudo nano /etc/ssh/sshd_config
以下是一些常见的配置选项:
PermitRootLogin: 是否允许 root 用户登录。
PasswordAuthentication: 是否允许密码认证。
Port: SSH 服务监听的端口号,默认为 22。如果更改了端口,需要确保防火墙规则也相应更新。
AllowUsers: 指定可以登录的用户列表。
AllowGroups: 指定可以登录的用户组列表。
根据安全需求和网络环境,适当修改这些设置。修改完成后,保存并关闭文件。
4 、重启 SSH 服务
配置更改后,需要重启 SSH 服务以使更改生效:
sudo service ssh restart
或者,如果使用的是 systemd:
sudo systemctl restart ssh
5 、验证 SSH 服务状态
最后,验证 SSH 服务是否正在运行:
sudo systemctl status ssh
或者:
ps -e | grep ssh
确保 sshd 进程正在运行
二、确认防火墙设置
确保Linux服务器的防火墙允许 SSH 服务的端口(默认为 22 端口)通行。对于 ufw(Uncomplicated Firewall),可以使用以下命令:
sudo ufw allow ssh
或者指定端口:
sudo ufw allow 22/tcp
对于 iptables,需要添加相应的规则来允许 SSH 端口:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
三、SSH 客户端配置
在个人电脑访问端计算机需要配置 SSH 客户端以便能够建立远程连接。大多数 Linux 系统默认已经安装了 OpenSSH 客户端。如果客户端计算机上没有安装 SSH 客户端,需要根据所使用的操作系统进行安装。
对于大多数 Linux 发行版,可以使用包管理器安装 OpenSSH 客户端:
sudo apt-get install openssh-client # Debian/Ubuntu
sudo yum install openssh-clients # Red Hat/CentOS
访问端是Windows 用户,可以安装 PuTTY 或使用 Windows 10 自带的 OpenSSH 客户端,这样有界面化操作执行命令和数据文件上传下载都很方便。
四、同局域网内电脑ssh访问连接到Linux服务器
在同内网电脑上有安装SSH客户端后,即可以通过内网IP连接Linux主机了。使用以下命令连接到 SSH 服务器:
ssh username@server_ip #用目标内网IP
如果你使用了配置文件,可以直接使用配置的别名:
ssh myserver
如果一切配置正确,你在同内网电脑上使用ssh,是能够通过内网IP成功登录到同内网的 Linux 服务器。
五、将本地ssh服务开放外网访问
(一)有公网IP时:如果内网Linux服务器位于自己公网IP路由器后面,即本地有公网IP权限使用的,只需要登录路由管理后台,找到虚拟服务器并添加配置端口转发规则,将内网的 SSH 端口(默认是22)映射到公网IP端口上。这样就可以从局域网其他电脑上通过 SSH 客户端并用对应本地公网IP访问这个 Linux 服务器了。
(二)无公网IP时:借助nat123内外网映射工具,直接将本地SSH内网IP端口转换成自定义域名端口形式,实现外地电脑的连接访问到本地Linux服务器使用。操作步骤参考:
1、下载安装和注册登录
下载安装:在目标Linux主机上下载安装nat123的Linux版本客户端,或直接通过命令式安装;也可以在同局域网内另台电脑或手机平板设备上下载安装nat123客户端,如在同内网的win电脑上安装windows版本客户端。
注册登录:在对应官网注册链接页面,自定义名称密码邮箱方式获取自己的nat123帐号,然后登录nat123客户端运行。
注意:如是多个应用多个网络环境下的,需要分别注册使用不同的nat123帐号区分。
2、添加nat123映射设置
登录nat123客户端,对于win客户端的可以直接主界面上“添加映射”点击出来新的映射编辑页面设置,对于Linux客户端的则登录官网管理后台进行添加修改映射等操作。在添加映射页面结合本地实际应用场景填写参数详解参考:
应用名称:自定义,如“公司ssh”、“Linux”等;简单用于区分不同映射数和在后续交流反馈时标志显示用途;
映射线路:有开放的,有体验的,有按年使用的多线路服务,这就看自己帐号权限来选择了;
映射类型:像普通tcp协议的ssh,一般选择使用“非网站”类型,让外地直接访问;
内网地址:我本机ssh服务的填写127.0.0.1,如是内网其他机上应用服务则对应填写对应的固定内网IP或计算机名,并确保这个内网地址在nat123客户端本地能ping通;
内网端口:默认SSH服务使用端口是22,如有修改则以实际填写;
外网端口:默认提供生成显示一个外网端口号,一般不用改,也可修改其他未占用的;
外网域名:默认生成一个随机二级域名,一般为了方便记住使用可自定义对应二级字符;如有自已域名,则可以修改使用自己注册的域名来作为公网地址用;

确保保存即生效。如是win客户端的可在主界面上见多了一个映射记录图标,同时有显示对应内外网地址信息,鼠标停留图标上面会有一些状态检测提示参考。
3、外网访问ssh
在外地电脑需要使用ssh客户端访问时,添加连接并输入对应nat123映射自定义好的域名和外网端口号,和对应目标主机帐号密码,即可连接访问内网的Linux服务器操作管理了。

通过本文的详细指导,我们已经了解了如何配置SSH服务,并在无公网IP时通过nat123映射自定义公网地址方式,实现外网 SSH 远程访问内网 Linux 服务器的全过程。从准备工作、网络环境配置,到 SSH 服务器的安装与配置,再到 SSH 客户端的配置与连接,每一步都至关重要。
3218

被折叠的 条评论
为什么被折叠?



