Linux系统服务器的登录是运维工作的基础操作,掌握多种登录方式及安全配置不仅能提升效率,还能保障服务器安全,本文将详细介绍Linux服务器登录的常见方法、操作步骤及注意事项。
SSH远程登录(最常用)
SSH(Secure Shell)是目前Linux服务器远程登录的主流方式,通过加密传输数据,避免信息泄露,且支持端口转发、隧道等功能,适用于日常运维、文件传输等场景。
准备工作
- 服务器信息:获取服务器的IP地址(或域名)、SSH端口号(默认为22,若修改过需确认)。
- 客户端工具:Linux/Mac系统自带SSH客户端(命令为
ssh
);Windows系统需使用PuTTY、Xshell、MobaXterm等工具。
密码登录(简单直接)
- Linux/Mac客户端:打开终端,输入以下命令:
ssh username@server_ip -p port
其中
username
为服务器用户名(如root
、ubuntu
),server_ip
为服务器IP,port
为SSH端口(默认22可省略),输入命令后按回车,根据提示输入用户密码即可登录。 - Windows客户端(以PuTTY为例):
- 打开PuTTY,在“Session”页面输入服务器IP、端口号,选择“SSH”协议;
- 在“Connection > Data”中输入默认自动登录的用户名(可选,也可登录后手动输入);
- 点击“Open”,弹出终端后输入密码登录。
密钥登录(更安全)
密钥登录通过公钥加密、私钥解密,避免密码暴力破解,适合生产环境。
- 生成密钥对(在客户端执行):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按提示保存私钥(默认
~/.ssh/id_rsa
)和公钥(默认~/.ssh/id_rsa.pub
),可设置密码保护私钥。 - 上传公钥到服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
输入服务器密码后,公钥会自动追加到服务器
~/.ssh/authorized_keys
文件中。 - 登录验证:
ssh -i ~/.ssh/id_rsa username@server_ip
若私钥有密码,需输入私钥密码;无密码则直接登录。
控制台登录(本地/物理连接)
当服务器无法远程访问(如网络故障、系统崩溃)时,可通过物理控制台直接登录,适合故障排查或本地运维。
操作步骤
- 物理连接:使用显示器(VGA/HDMI/DP)、键盘(USB/PS2)连接服务器主机;
- 启动系统:开机后进入GRUB引导菜单(若有多系统选择,用方向键选择目标系统,按回车);
- 登录界面:系统启动后显示文本登录界面(或图形登录界面,如GNOMEDisplayManager),输入用户名和密码即可登录。
带外管理登录(独立于系统)
带外管理(Out-of-Band Management)通过服务器独立的管理模块(如Dell iDRAC、HP iLO、华为 iBMC)实现,即使服务器宕机或系统无响应,仍可远程管理硬件(开关机、查看日志、调整BIOS设置等)。
操作步骤
- 获取管理IP:服务器标签或厂商文档中记录带外管理接口IP(如iDRAC默认IP);
- 网络连接:客户端通过网线直连管理网口,或接入同一局域网;
- 登录方式:
- 浏览器访问:输入管理IP(如https://192.168.1.100),使用默认管理员账号登录(首次需修改密码);
- 专用客户端:厂商提供的管理工具(如Dell iDRAC Access Console、HP iLO Amplifier Essentials)。
登录方式对比与选择
登录方式 | 适用场景 | 优点 | 缺点 |
---|---|---|---|
SSH远程登录 | 日常远程运维、文件传输 | 灵活、安全、支持功能丰富 | 依赖网络,系统宕机无法使用 |
控制台登录 | 本地运维、故障排查 | 无需网络,直接访问系统 | 需物理接触,操作距离受限 |
带外管理登录 | 硬件管理、远程故障恢复 | 独立于系统,支持开关机等硬件操作 | 需额外硬件支持,部分需购买许可证 |
安全注意事项
- 禁用root直接登录:编辑服务器
/etc/ssh/sshd_config
,设置PermitRootLogin no
,重启SSH服务(systemctl restart sshd
),强制使用普通用户登录后切换至root(sudo su -
); - 修改默认端口:避免使用默认22端口,减少自动化攻击扫描,在
sshd_config
中设置Port 2222
(自定义端口); - 密钥认证优先:禁用密码登录(
PasswordAuthentication no
),仅允许密钥认证; - 防火墙限制:通过iptables或firewalld限制SSH访问IP,仅允许运维IP段访问;
- 定期更新:及时更新SSH客户端和服务端版本,修复安全漏洞。
相关问答FAQs
Q1: 忘记Linux服务器登录密码怎么办?
A: 若为root密码,可通过以下方式重置:
- 重启服务器,进入GRUB引导菜单,选择编辑启动项,在内核参数末尾添加
init=/bin/bash
(或rd.break
,依系统版本而定); - 按Ctrl+X启动,进入单用户模式(或救援模式),挂载根目录(
mount -o remount,rw /
); - 使用
passwd
命令重置密码,输入exec /sbin/init
重启系统即可。
若为普通用户密码,可使用root用户执行passwd username
重置。
Q2: SSH登录时提示“Permission denied (publickey,password)”怎么办?
A: 通常由以下原因导致:
- 密钥问题:检查客户端私钥路径是否正确(
-i
参数指定),或公钥未正确上传到服务器(确认~/.ssh/authorized_keys
存在且包含公钥内容); - 权限错误:服务器
~/.ssh
目录权限需为700,authorized_keys
文件权限需为600,可通过chmod 700 ~/.ssh
和chmod 600 ~/.ssh/authorized_keys
修复; - SSH服务配置:检查
/etc/ssh/sshd_config
中PubkeyAuthentication yes
是否启用,重启SSH服务后重试。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/37987.html