Linux系统登录是用户与系统交互的第一步,根据使用场景(本地操作、远程管理、系统维护等)和系统配置(图形界面、命令行界面等),登录方式多样,本文将详细介绍Linux系统的常见登录方法、步骤及注意事项。
本地登录:图形界面与命令行界面
本地登录指通过物理设备(如键盘、显示器)直接在计算机上操作Linux系统,主要分为图形界面(GUI)和命令行界面(CLI)两种模式。
图形界面登录(GUI)
大多数桌面版Linux系统(如Ubuntu、Fedora、CentOS桌面版)默认启动图形界面,登录流程简单直观:
- 启动系统:开机后,Linux系统会加载内核并启动初始化进程(systemd),随后显示图形登录界面(通常由显示管理器如GDM、SDDM、LightDM管理)。
- 选择用户:登录界面会列出系统中的用户账号(若有多个用户),点击用户名或输入用户名后,在密码框输入对应密码(输入时显示为“*”或空白,保护隐私)。
- 登录验证:系统验证用户名和密码正确性后,加载用户桌面环境(如GNOME、KDE Plasma、XFCE),进入图形桌面,用户可通过鼠标、键盘操作应用程序和文件管理器。
注意:若系统未启用图形界面(如服务器版Linux),或手动启动时进入命令行模式,则需通过CLI登录。
命令行界面登录(CLI)
命令行界面(Terminal)是Linux系统管理的核心,尤其适用于服务器、嵌入式设备或轻量级系统(如Debian minimal、Alpine Linux),登录步骤如下:
- 进入CLI环境:若系统默认启动CLI,开机后直接显示登录提示符(通常为
login:
);若在图形界面下,可通过快捷键(如Ctrl+Alt+F2
~F6
)切换到虚拟终端(TTY),每个虚拟终端对应一个独立CLI会话(如tty1
为图形界面,tty2
为CLI)。 - 输入用户名:在
login:
后输入已创建的用户名(如admin
),按回车键。 - 输入密码:系统提示
Password:
(输入时不显示字符),输入密码后按回车,验证通过后,显示Shell提示符(如[admin@localhost ~]$
),表示登录成功,可输入命令操作系统。
虚拟终端切换:Linux默认支持6个虚拟终端(tty1
~tty6
),通过Ctrl+Alt+Fn
(n
为1~6)切换;tty7
通常保留给图形界面(若启用)。
远程登录:SSH协议实现安全访问
远程登录指通过网络从其他设备连接到Linux系统,主要用于服务器管理或无物理接触场景,最常用的是SSH(Secure Shell)协议。
SSH密码登录
SSH通过加密传输保障数据安全,基本步骤如下:
- 客户端操作:在本地终端(Windows可用PuTTY、Xshell,Linux/macOS用自带终端)输入命令:
ssh username@remote_ip
其中
username
为远程系统用户名,remote_ip
为Linux服务器的IP地址(如168.1.100
)。 - 首次连接确认:若首次连接,系统提示
The authenticity of host 'remote_ip' can't be verified
,输入yes
并回车,保存远程主机密钥到~/.ssh/known_hosts
。 - 输入密码:系统提示
username@remote_ip's password:
,输入远程用户密码(输入时不显示),验证通过后显示远程服务器的Shell提示符,即可远程操作。
SSH密钥登录(更安全)
为避免频繁输入密码,可通过SSH密钥对实现免密登录:
- 生成密钥对:在本地终端执行
ssh-keygen -t rsa
,按提示生成公钥(~/.ssh/id_rsa.pub
)和私钥(~/.ssh/id_rsa
),私钥需妥善保管。 - 复制公钥到远程服务器:使用
ssh-copy-id username@remote_ip
,或手动将公钥内容追加到远程服务器的~/.ssh/authorized_keys
文件中。 - 免密登录:完成后,再次执行
ssh username@remote_ip
即可直接登录,无需输入密码。
SSH登录方式对比:
| 方式 | 优点 | 缺点 | 适用场景 |
|—————-|————————-|————————-|———————–|
| 密码登录 | 配置简单,无需额外工具 | 密码易被暴力破解 | 临时登录、测试环境 |
| 密钥登录 | 安全性高,无需重复输入密码 | 需管理密对,配置稍复杂 | 生产服务器、长期管理 |
特殊场景登录:系统维护与权限管理
单用户模式(救援模式)
当系统忘记密码或文件系统损坏时,可通过单用户模式重置密码或修复系统:
- 进入GRUB菜单:开机时按
Esc
或Shift
键,进入GRUB引导菜单(需启用GRUB显示菜单)。 - 编辑启动参数:选择要启动的系统,按
e
键编辑内核启动参数,在linux
或linux16
行末尾添加rd.break
或init=/bin/bash
(根据系统版本调整)。 - 重置密码:按
Ctrl+X
启动,进入救援模式后,执行mount -o remount,rw /sysroot
挂载根目录,chroot /sysroot
切换到根环境,passwd
修改密码,touch /.autorelabel
(可选,修复SELinux标签),最后exit
重启系统。
sudo提权登录
普通用户登录后,若需执行管理员命令(如systemctl restart nginx
),可通过sudo
临时获取权限:
- 配置sudo权限:管理员需编辑
/etc/sudoers
文件(用visudo
命令),添加用户权限(如admin ALL=(ALL) ALL
,表示admin
用户可执行所有命令)。 - 使用sudo:普通用户在命令前加
sudo
,输入当前用户密码(非root密码)即可执行管理命令;若需切换到root用户,执行sudo -i
或sudo su -
。
登录后基础操作
- 查看当前用户:
whoami
显示当前用户名,who
或w
查看当前登录系统的用户及终端信息。 - 修改密码:
passwd
命令修改当前用户密码(需输入原密码),sudo passwd username
修改其他用户密码(需root权限)。 - 注销与关机:
exit
或logout
退出当前登录;shutdown -h now
立即关机,reboot
重启系统。
相关问答FAQs
Q1:Linux忘记root密码怎么办?
A1:可通过单用户模式重置:开机进入GRUB菜单,编辑内核参数添加rd.break
,按Ctrl+X
启动后,执行mount -o remount,rw /sysroot
,chroot /sysroot
,passwd
修改root密码,touch /.autorelabel
(修复SELinux),最后exit
重启即可。
Q2:SSH连接远程服务器超时如何解决?
A2:首先检查网络连通性(ping remote_ip
);其次确认SSH服务是否启动(systemctl status sshd
);然后检查防火墙是否放行22端口(firewall-cmd --add-port=22/tcp --permanent
);最后检查客户端SSH配置(~/.ssh/config
)中的ServerAliveInterval
参数,避免因长时间无操作断开连接。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/20340.html