连接Linux服务器是日常运维、开发和管理工作中常见的操作,核心是通过网络协议建立与远程服务器的通信链路,本文将详细介绍连接Linux服务器的准备工作、常用方法、具体步骤及注意事项,帮助不同操作系统的用户顺利完成连接。
连接前的准备工作
在尝试连接Linux服务器前,需确保以下信息准备就绪,否则可能导致连接失败:
- 服务器基本信息:包括服务器的IP地址(或域名)、端口号(默认SSH端口为22,若修改过需使用实际端口)、用户名(如root、普通用户等)。
- 认证凭据:密码登录需知道用户对应的密码;密钥登录需提前生成密钥对(公钥和私钥),并将公钥上传至服务器。
- 服务器服务状态:确保服务器已开启SSH服务(sshd),可通过
systemctl status sshd
(CentOS/RHEL)或service ssh status
(Ubuntu/Debian)检查。 - 网络连通性:确保本地设备与服务器网络互通,可通过
ping IP地址
测试基本连通性,或使用telnet IP 端口
测试SSH端口是否开放。
常用连接方法及详细步骤
根据本地操作系统(Windows、Linux、macOS)和需求(命令行操作、图形界面),连接Linux服务器的方法略有不同,以下是主流方式:
(一)Windows系统连接Linux服务器
Windows系统原生不支持SSH协议,需借助第三方工具,常用工具包括PuTTY、Xshell、MobaXterm等,其中PuTTY轻量易用,Xshell功能更丰富。
使用PuTTY连接(密码登录)
PuTTY是一款免费的SSH客户端,支持SSH、Telnet等协议,适合简单连接。
- 步骤1:下载并安装PuTTY
访问PuTTY官网(https://www.putty.org/)下载最新版本,无需安装,解压后直接运行putty.exe。 - 步骤2:配置连接信息
打开PuTTY,在“Session”页面中:- “Host Name (or IP address)”:输入服务器IP地址或域名;
- “Port”:默认22(若服务器修改过SSH端口,需输入实际端口,如2222);
- “Connection type”选择“SSH”。
- 步骤3:保存会话(可选)
在“Saved Sessions”框输入名称(如“TestServer”),点击“Save”,下次可直接双击打开,无需重复输入信息。 - 步骤4:连接并登录
点击“Open”,弹出终端窗口,首次连接会提示“PuTTY cannot verify the server’s host key”,选择“是”继续;输入服务器用户名(如root),按回车,再输入密码(密码不显示),登录成功后即可操作服务器。
使用Xshell连接(支持密码/密钥登录)
Xshell是功能强大的SSH客户端,支持多标签会话、文件传输、脚本执行等,适合复杂场景。
- 步骤1:创建新会话
打开Xshell,点击“文件”→“新建”,在“属性”窗口中:- “名称”:自定义会话名称(如“CentOS Server”);
- “协议”:选择“SSH”;
- “主机”:输入服务器IP地址;
- “端口号”:输入SSH端口(默认22)。
- 步骤2:配置认证方式
切换到“用户身份验证”页面:- 若密码登录:“方法”选择“Password”,“用户名”输入服务器用户名;
- 若密钥登录:“方法”选择“Public Key”,“用户名”输入用户名,点击“浏览”选择本地私钥文件(.ppk格式,需提前用PuTTYgen生成)。
- 步骤3:连接并登录
点击“确定”保存会话,双击会话名称或点击“连接”,输入密码(或密钥密码)即可登录。
(二)Linux/macOS系统连接Linux服务器
Linux和macOS系统内置SSH客户端,可通过命令行直接连接,无需额外安装工具。
使用ssh命令连接(密码登录)
- 基本格式:
ssh [用户名]@[服务器IP]
以root用户连接IP为192.168.1.100的服务器:ssh root@192.168.1.100
- 操作步骤:
(1)打开本地终端(Linux的Terminal或macOS的Terminal);
(2)输入上述命令,按回车;
(3)首次连接会提示“Are you sure you want to continue connecting (yes/no)?”,输入“yes”并回车;
(4)输入服务器用户密码,登录成功后即可操作服务器。
使用ssh命令连接(密钥登录,更安全)
密钥登录通过公钥加密、私钥解密验证身份,避免密码泄露风险,推荐使用。
- 步骤1:生成密钥对(本地操作)
若未生成密钥,使用ssh-keygen
命令生成:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按回车使用默认路径(~/.ssh/id_rsa),可设置私钥密码(可选,增强安全性),生成后会在~/.ssh目录下得到
id_rsa
(私钥)和id_rsa.pub
(公钥)。 - 步骤2:上传公钥至服务器
使用ssh-copy-id
命令自动上传公钥到服务器的~/.ssh/authorized_keys文件:ssh-copy-id -i ~/.ssh/id_rsa.pub [用户名]@[服务器IP]
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.100
输入服务器用户密码后,公钥即上传成功。 - 步骤3:密钥登录
再次使用ssh [用户名]@[服务器IP]
命令,此时无需输入密码,直接通过私钥验证登录(若设置了私钥密码,需输入私钥密码)。
使用scp命令传输文件(连接后操作)
连接服务器后,若需传输文件,可使用scp
命令(基于SSH协议,安全高效):
- 从服务器下载文件到本地:
scp [用户名]@[服务器IP]:/远程文件路径 本地路径
scp root@192.168.1.100:/home/test.txt ~/Downloads/
- 从本地上传文件到服务器:
scp 本地文件路径 [用户名]@[服务器IP]:/远程路径
scp ~/Documents/test.zip root@192.168.1.100:/opt/
(三)图形界面连接(需服务器开启图形服务)
若需操作Linux服务器的图形界面(如GNOME、KDE),可通过VNC、RDP等协议连接,前提是服务器已安装并配置图形服务。
使用VNC连接
VNC(Virtual Network Computing)是一种远程桌面协议,支持跨平台图形操作。
- 服务器端配置(以CentOS为例):
(1)安装TigerVNC服务器:yum install tigervnc-server tigervnc-server-module
;
(2)配置VNC密码:vncpasswd
(设置连接密码);
(3)启动VNC服务:systemctl start vncserver@:1
(1
为显示编号,可自定义);
(4)开放VNC端口(默认5901):firewall-cmd --permanent --add-port=5901/tcp
,firewall-cmd --reload
。 - 客户端连接:
Windows可使用TigerVNC Viewer、RealVNC Viewer,Linux/macOS可使用vinagre
或Remmina
,输入服务器IP:显示编号(如192.168.1.100:1),输入VNC密码即可连接图形界面。
常见问题及解决方法
-
连接超时或拒绝连接
- 原因:服务器未开启SSH服务;防火墙阻止SSH端口;网络不通。
- 解决:检查
systemctl status sshd
;开放防火墙端口(如firewall-cmd --add-port=22/tcp
);使用traceroute
或mtr
排查网络路径。
-
提示“Permission denied (publickey,password)”
- 原因:密码错误;密钥未正确配置;服务器.ssh目录权限不正确(需为700)。
- 解决:确认密码;检查
~/.ssh/authorized_keys
是否包含公钥;执行chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
修复权限。
相关问答FAQs
Q1:连接Linux服务器时提示“Could not resolve hostname”,如何解决?
A:该错误表示本地无法解析服务器主机名(域名),可能原因包括:域名输入错误;本地DNS配置异常;服务器域名解析故障,解决方法:
- 检查域名是否输入正确,可尝试直接使用IP地址连接;
- 若使用IP连接成功,说明是域名解析问题,可尝试修改本地hosts文件(Windows路径为C:WindowsSystem32driversetchosts,Linux/macOS为/etc/hosts),添加“IP 域名”映射;
- 若仍无法解决,联系网络管理员确认域名服务器(DNS)配置是否正确。
Q2:如何修改SSH端口提高服务器安全性?
A:默认SSH端口22易被暴力破解,修改为非默认端口可降低风险,步骤如下:
- 编辑SSH配置文件:
vi /etc/ssh/sshd_config
; - 找到“#Port 22”,取消注释并修改为新端口(如2222,确保端口未被其他服务占用);
- 保存文件,重启SSH服务:
systemctl restart sshd
; - 开放防火墙新端口:
firewall-cmd --permanent --add-port=2222/tcp
,firewall-cmd --reload
; - 连接时需指定新端口,例如PuTTY中输入“2222”,Linux命令中使用
ssh -p 2222 root@IP
。
注意:修改端口后,需确保防火墙和云服务器安全组(如阿里云ECS、腾讯云CVM)已开放新端口,否则会导致连接失败。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/32770.html