登录Linux服务器的核心方式是通过SSH(Secure Shell)协议进行远程连接,管理员通常使用终端命令行工具(如OpenSSH)或图形化客户端(如PuTTY、Xshell),配合服务器的IP地址、端口号、用户名以及密码或SSH密钥对来完成身份验证。SSH密钥认证因其高于密码的安全性,已成为生产环境中的专业首选方案。

在开始操作之前,必须明确三个核心要素:目标IP地址、登录用户名(通常为root或普通用户)以及认证凭据(密码或私钥文件),默认情况下,SSH服务监听22端口,但出于安全考虑,部分服务器会修改此端口。
使用命令行工具进行SSH登录
对于Linux、macOS系统或Windows 10及以上版本(包含PowerShell或WSL)的用户,系统内置的ssh命令是最直接、最高效的登录方式。
基础登录语法非常简单,只需在终端输入ssh 用户名@IP地址,若要登录IP为192.168.1.100的服务器,使用root用户,命令如下:
ssh root@192.168.1.100
执行命令后,系统会提示输入密码。注意:出于安全设计,输入密码时屏幕上不会显示任何字符,也没有星号占位符,这是正常现象,输入完毕后回车即可。
若服务器管理员修改了默认的SSH端口(例如改为2222),则必须使用-p参数指定端口:
ssh -p 2222 root@192.168.1.100
首次连接某台服务器时,系统会显示“ECDSA key fingerprint”的确认信息,询问是否继续连接,这是因为SSH协议需要验证主机的真实性,在确认IP无误后,输入yes并将服务器的指纹保存到本地known_hosts文件中,后续连接将不再提示。

使用图形化客户端工具登录
对于习惯Windows操作界面的用户,使用第三方SSH客户端软件(如Xshell、PuTTY、MobaXterm)能提供更便捷的会话管理功能。
Xshell(推荐用于企业环境)
打开Xshell后,点击“新建会话”,在“连接”栏目中输入主机IP和端口(默认22),切换到“用户身份验证”栏目,输入登录用户名和密码,点击“确定”后保存会话配置,双击会话名称即可发起连接,Xshell的优势在于支持标签页管理多台服务器,且能轻松调整字体和编码格式(推荐设置为UTF-8以避免中文乱码)。
PuTTY(经典轻量级工具)
PuTTY无需安装,双击运行即可,在“Host Name (or IP address)”框中输入IP,Port框确认端口号,Connection type选择“SSH”,点击左侧“Session”树下的“Data”,在“Auto-login username”中填入用户名,返回Session界面,在“Saved Sessions”中输入名称并点击Save保存配置,最后点击“Open”打开终端窗口,在弹出的提示中输入密码即可。
配置SSH密钥对实现无密码登录(专业安全方案)
在专业的服务器运维中,密码登录存在被暴力破解的风险。SSH密钥对认证通过非对称加密技术,实现了更高级别的安全控制,该方案包含私钥和公钥:私钥保留在本地计算机,公钥放置在服务器上。
生成密钥对
在本地终端执行ssh-keygen -t rsa -b 4096,该命令会生成一个4096位的RSA密钥对,系统会提示保存路径(默认为~/.ssh/id_rsa),并可以设置 passphrase(私钥密码,可选但推荐设置)。
上传公钥至服务器
生成完成后,需将公钥(id_rsa.pub追加到服务器对应用户的~/.ssh/authorized_keys文件中,最简便的方法是使用ssh-copy-id命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.100
执行该命令时,仍需输入一次服务器密码,成功后,再次尝试SSH登录,系统将直接使用私钥进行验证,无需输入密码。

服务器端安全加固
为了强制使用密钥登录,应修改服务器端的SSH配置文件/etc/ssh/sshd_config,将PasswordAuthentication设置为no,并确保PubkeyAuthentication设置为yes,修改后需执行systemctl restart sshd重启服务生效,此举将彻底阻断暴力破解密码的可能性。
常见连接故障排查与处理
在实际操作中,可能会遇到“Connection refused”或“Connection timed out”等错误。
- Connection refused(连接被拒绝):通常是因为服务器未开启SSH服务,或防火墙拦截了连接请求,检查服务器端SSH服务状态命令为
systemctl status sshd,若服务未运行,执行systemctl start sshd启动,同时检查防火墙规则(如firewall-cmd或ufw),确保22端口或自定义端口已放行。 - Permission denied(权限被拒绝):若密码确认无误但仍报错,请检查服务器
/etc/ssh/sshd_config文件中的PermitRootLogin设置,若该值为prohibit-password或no,则禁止root用户使用密码登录,必须使用密钥或切换至普通用户登录。 - 连接缓慢:这通常是因为SSH服务器开启了DNS反向解析,导致在验证客户端主机名时超时,可在服务器配置文件中设置
UseDNS no来加速连接过程。
相关问答
Q1:如果忘记了Linux服务器的root密码,该如何重置?
A: 如果无法通过SSH登录,需要通过服务器的管理控制台(如VNC或IPMI)进入单用户模式进行重置,重启服务器,在启动界面按方向键暂停,选中内核行按e编辑,在linux16或linux行末尾添加rd.break,按Ctrl+x启动,进入紧急模式后,重新挂载文件系统为读写(mount -o remount,rw /sysroot),切换根目录(chroot /sysroot),使用passwd命令修改密码,最后重启即可。
Q2:如何保持SSH连接长时间不断开?
A: 默认情况下,SSH连接在无操作一段时间后会断开,可以在本地客户端的~/.ssh/config文件中添加配置:ServerAliveInterval 60(每60秒发送一次心跳包)和ServerAliveCountMax 3(发送失败3次后断开),或者在服务器端的/etc/ssh/sshd_config中设置ClientAliveInterval 60,这样即可有效防止因防火墙或网络波动导致的连接中断。
希望这份详细的Linux服务器登录指南能帮助您高效管理服务器,如果您在配置SSH密钥或调整防火墙时遇到具体问题,欢迎在评论区留言,我们将为您提供进一步的故障排查思路。


















