linux服务器如何远程访问
- Linux
- 2025-07-22
- 2658
ssh root@
)、PuTTY等工具,或云服务提供的Web控制台(如阿里云Workbench)实现,需确保服务器已安装SSH服务、配置防火墙允许端口22,并设置正确的用户权限与认证方式
当今数字化时代,远程访问Linux服务器是一项至关重要的技能,无论是对于系统管理员、开发人员还是普通用户,都为其提供了极大的便利和灵活性,以下将详细介绍如何实现Linux服务器的远程访问:
前期准备
-
确认服务器网络配置
- 公网IP或内网IP:确保服务器有可访问的IP地址,若服务器在局域网内,需获取其内网IP;若在云端,一般会有公网IP。
- 检查网络连通性:在本地计算机上,通过ping命令测试与服务器的网络连接是否正常,如
ping 服务器IP地址
。
-
安装SSH服务:大多数Linux发行版默认安装了OpenSSH服务器,若未安装,可根据系统版本使用相应命令安装,例如在Ubuntu上,使用
sudo apt-get install openssh-server
;在CentOS上,使用sudo yum install openssh-server
。
配置服务器防火墙
-
UFW防火墙:如果服务器使用UFW防火墙,可使用
sudo ufw allow ssh
或sudo ufw allow 22/tcp
命令允许SSH连接,若要允许特定IP范围访问,如允许192.168.1.0/24网段访问,可使用sudo ufw allow from 192.168.1.0/24 to any port 22
。 -
Iptables防火墙:对于使用iptables的服务器,可使用
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
命令添加规则允许SSH连接。
远程连接方式
-
使用SSH命令行工具(适用于Linux和Mac OS)
- 基本连接命令:在终端中输入
ssh username@server_ip_address
,其中username
为服务器登录用户名,server_ip_address
为服务器IP地址,例如ssh root@192.168.1.100
。 - 首次连接确认:首次连接时,系统会提示确认服务器的真实性,显示类似“The authenticity of host ‘[服务器IP地址] ([服务器IP地址])’ can’t be established. ECDSA key fingerprint is [指纹信息]. Are you sure you want to continue connecting (yes/no)?”的信息,输入
yes
后按回车键继续。 - 输入密码:接着会提示输入密码,输入服务器上对应用户的密码,即可登录到服务器的命令行界面。
- 基本连接命令:在终端中输入
-
使用PuTTY(适用于Windows)
- 下载安装:从PuTTY官方网站下载并安装PuTTY工具。
- 配置连接参数:打开PuTTY后,在“Host Name(or IP address)”栏输入服务器IP地址,如
168.1.100
;“Port”栏保持默认的22(若服务器SSH端口已修改,则输入修改后的端口号);“Connection type”选中“SSH”。 - 保存会话:在“Saved Sessions”栏输入一个便于识别的名称,如“my_linux_server”,然后单击“Save”保存会话,下次登录时可直接双击该会话名称快速连接。
- 连接登录:单击“Open”按钮,在弹出的命令行窗口中输入服务器的登录用户名和密码,即可登录。
安全增强措施
-
修改SSH默认端口:编辑SSH配置文件
/etc/ssh/sshd_config
,找到Port
选项,将其值修改为其他未被占用的端口号,如Port 2222
,修改后,需重启SSH服务使配置生效,同时要在防火墙中允许新端口的SSH连接。 -
禁用密码登录:在
/etc/ssh/sshd_config
文件中,将PasswordAuthentication
选项设置为no
,然后重启SSH服务,仅允许使用SSH密钥进行身份验证,大大提高了安全性。 -
设置SSH密钥登录
- 生成密钥对:在本地计算机上打开终端(Linux和Mac OS)或命令提示符(Windows),使用
ssh-keygen
命令生成SSH密钥对,按照提示操作,可将私钥保存在~/.ssh/id_rsa
,公钥保存在~/.ssh/id_rsa.pub
。 - 复制公钥到服务器:使用
ssh-copy-id username@server_ip_address
命令将公钥复制到服务器上的~/.ssh/authorized_keys
文件中,之后,在连接服务器时,若使用对应的私钥,即可免密码登录。
- 生成密钥对:在本地计算机上打开终端(Linux和Mac OS)或命令提示符(Windows),使用
以下是关于Linux服务器远程访问的两个常见问题及解答:
FAQs
-
问题:远程连接Linux服务器时,提示“Connection refused”,是什么原因?
- 解答:可能的原因有以下几种,一是服务器端的SSH服务未启动,可使用
sudo systemctl start sshd
命令启动;二是防火墙未允许SSH连接,需检查防火墙规则并添加允许规则;三是服务器的SSH端口号被修改,而连接时使用的仍是默认端口22,需使用正确的端口号进行连接。
- 解答:可能的原因有以下几种,一是服务器端的SSH服务未启动,可使用
-
问题:使用SSH密钥登录时,出现“Permission denied (publickey)”错误,该怎么办?
- 解答:首先检查私钥和公钥是否正确匹配,以及私钥的权限是否正确,私钥的权限应设置为仅当前用户可读写,可使用
chmod 600 ~/.ssh/id_rsa
命令设置,确认公钥已正确复制到服务器的~/.ssh/authorized_keys
文件中,且该文件的权限和所有权正确,检查SSH配置文件中是否启用了公钥认证,即PubkeyAuthentication
选项是否设置为`yes
- 解答:首先检查私钥和公钥是否正确匹配,以及私钥的权限是否正确,私钥的权限应设置为仅当前用户可读写,可使用