Linux作为服务器、开发环境及桌面操作系统的核心,掌握其访问方式是高效使用的前提,本文从本地与远程两大场景出发,结合工具、步骤及注意事项,详细说明如何访问Linux系统。
本地访问:直接操作物理机或虚拟机
本地访问适用于直接面对Linux设备的情况,如物理服务器、个人电脑的双系统安装,或通过虚拟机软件(VMware、VirtualBox)运行的Linux系统,根据界面类型,可分为图形界面(GUI)与命令行界面(CLI)两种方式。
图形界面(GUI)访问
图形界面是Linux的直观交互方式,适合新手及需要图形化操作的场景(如桌面办公、图形开发)。
- 操作步骤:
(1)物理机:开机后进入GRUB引导菜单(若安装双系统,会显示操作系统选择列表),选择对应的Linux系统,输入用户名和密码即可进入桌面环境(如GNOME、KDE Plasma)。
(2)虚拟机:打开虚拟机软件(如VMware Workstation),选择已创建的Linux虚拟机文件(.vmx),启动后进入登录界面,输入用户名密码即可。 - 桌面环境操作:登录后,可通过任务栏启动终端(Ctrl+Alt+T)、文件管理器、应用程序菜单等,操作逻辑与Windows/macOS类似,支持鼠标拖拽、窗口管理等。
命令行界面(CLI)访问
命令行是Linux的核心交互方式,适合服务器管理、自动化脚本及高效操作。
- 操作步骤:
(1)物理机:开机后在GRUB菜单选择对应的Linux系统,按e
键编辑启动参数,找到linux
或linuxefi
开头的行,在末尾添加init=/bin/bash
(禁用图形界面,直接进入单用户模式),按Ctrl+X启动,进入root权限的命令行。
(2)虚拟机:在登录界面选择“文本模式”(Text Mode),或直接在图形界面按Ctrl+Alt+F2~F6切换到终端(tty2-tty6),输入用户名密码即可进入命令行。 - 基础命令:进入命令行后,可通过
ls
(列出文件)、cd
(切换目录)、pwd
(显示当前路径)、mkdir
(创建目录)等命令操作文件系统,sudo
命令可获取临时管理员权限(需配置sudoers文件)。
远程访问:跨设备操作Linux系统
远程访问适用于管理服务器、或从本地电脑操作远程Linux设备,无需直接接触物理机,是运维与开发的核心场景,常见方式包括SSH、VNC、Web管理界面及容器化访问。
SSH(Secure Shell):安全远程命令行访问
SSH是Linux远程访问的“黄金标准”,通过加密协议实现安全的远程登录与文件传输,适合服务器管理、代码部署等场景。
- 客户端工具:
- Windows:PuTTY(图形化客户端)、Xshell(功能强大,支持多标签)、Windows Terminal(新版支持SSH)。
- macOS/Linux:系统自带Terminal,可直接通过命令行连接(
ssh username@IP -p 端口
)。
- 操作步骤:
(1)服务器端配置:确保Linux系统安装了SSH服务(Ubuntu/Debian:sudo apt install openssh-server
;CentOS/RHEL:sudo yum install openssh-server
),启动服务并设置开机自启(sudo systemctl enable --now sshd
)。
(2)客户端连接:打开SSH客户端,输入服务器IP地址、用户名(如root或普通用户)、端口号(默认22),首次连接需确认主机密钥(输入yes
),然后输入密码登录,若使用密钥认证(更安全),需提前将公钥(~/.ssh/id_rsa.pub
)上传到服务器的~/.ssh/authorized_keys
文件中。 - 高级功能:SSH支持端口转发(
-L
/-R
参数,实现本地/远程端口映射)、SFTP文件传输(通过WinSCP、FileZilla等工具,基于SSH协议的文件传输),以及通过ssh -X
或ssh -Y
启用X11转发,在远程运行图形化程序(如ssh -X username@IP xeyes
)。
VNC(Virtual Network Computing):图形化远程桌面访问
VNC通过传输屏幕像素实现远程桌面操作,适合需要图形界面的场景(如远程Linux桌面、图形设计软件)。
- 服务器端配置:
(1)安装VNC服务器:Ubuntu/Debian:sudo apt install tigervnc-standalone-server tigervnc-xorg-extension
;CentOS/RHEL:sudo yum install tigervnc-server tigervnc-server-module
。
(2)设置VNC密码:运行vncpasswd
,设置访问密码(需8位以上,可区分只读/读写权限)。
(3)启动VNC服务:指定桌面号(如1
,对应5901端口),vncserver :1 -geometry 1920x1080
(分辨率可根据需求调整)。 - 客户端连接:下载VNC Viewer(RealVNC、TigerVNC等),输入服务器IP加桌面号(如
168.1.100:1
),输入密码即可看到远程桌面。 - 注意事项:VNC默认不加密,建议通过SSH隧道(
ssh -L 5901:localhost:5901 username@IP
)或配置SSL/TLS加密,提升安全性。
Web管理界面:浏览器访问Linux系统
Web管理界面通过浏览器提供图形化控制台,适合不熟悉命令行的新手,或需要简化管理操作的场景。
- 常用工具:
- Webmin:功能全面的Linux系统管理工具,支持用户管理、服务配置、网络设置等,默认端口10000。
安装步骤:下载官方安装脚本(wget http://prdownloads.sourceforge.net/webadmin/webmin_2.101_all.deb
),通过sudo dpkg -i webmin_*.deb
安装,浏览器访问https://IP:10000
即可登录。 - Cockpit:RHEL/CentOS系统自带的服务器管理工具,支持系统状态监控、服务管理、容器操作等,默认端口9090。
启动服务:sudo systemctl enable --now cockpit.socket
,浏览器访问https://IP:9090
登录。
- Webmin:功能全面的Linux系统管理工具,支持用户管理、服务配置、网络设置等,默认端口10000。
- 优点:无需安装客户端,跨平台支持(Windows/macOS/Linux浏览器均可访问);缺点:功能相对SSH/VNC有限,安全性依赖HTTPS配置。
容器化访问:Docker/Kubernetes环境操作
在容器化环境中,可通过Docker或Kubernetes命令进入容器内部,操作容器内的Linux系统。
- Docker容器访问:
(1)运行容器时添加-it
参数(交互式+终端):docker run -it ubuntu bash
,直接进入容器命令行。
(2)对已运行的容器,使用docker exec
命令:docker exec -it 容器ID bash
(需容器内已安装bash)。 - Kubernetes Pod访问:
使用kubectl exec
命令进入Pod内的容器:kubectl exec -it Pod名称 -n 命名空间 -c 容器名称 bash
(若Pod只有一个容器,可省略-c
参数)。
不同访问方式对比
访问方式 | 适用场景 | 优点 | 缺点 | 常用工具 |
---|---|---|---|---|
本地GUI | 桌面Linux、图形开发 | 直观易用,支持图形操作 | 需直接接触设备 | GNOME、KDE Plasma |
本地CLI | 服务器本地维护、应急修复 | 无需网络,高效稳定 | 需熟悉命令行 | Terminal(物理机/虚拟机) |
SSH | 服务器远程管理、自动化脚本 | 安全加密、高效、支持文件传输 | 无图形界面(除非X11转发) | PuTTY、Xshell、Terminal |
VNC | 远程图形桌面、图形设计 | 完整图形界面,操作直观 | 速度较慢,默认不加密 | TigerVNC、RealVNC Viewer |
Web管理界面 | 新手管理、简化操作 | 无需客户端,跨平台 | 功能有限,依赖HTTPS | Webmin、Cockpit |
容器化访问 | Docker/K8s环境调试 | 环境隔离,快速操作容器内系统 | 需容器化基础知识 | Docker、kubectl |
FAQs
忘记Linux登录密码怎么办?
- 本地系统解决:
(1)重启Linux系统,进入GRUB引导菜单(长按Shift键触发)。
(2)选择对应的Linux系统,按e
键编辑启动参数,找到linux
或linuxefi
开头的行,在末尾添加init=/bin/bash
(禁用系统服务,直接进入root shell)。
(3)按Ctrl+X启动,进入命令行后执行mount -o remount,rw /
(重新挂载根目录为读写模式),然后passwd
修改密码(输入两次新密码)。
(4)修改完成后,执行exec /sbin/init
重启系统,即可用新密码登录。 - 云服务器解决:通过云服务商控制台(如阿里云ECS、腾讯云CVM)的“重置密码”功能,需提前绑定密钥或验证身份,重置后按提示重启服务器。
SSH连接超时(Connection timed out)如何解决?
- 排查步骤:
(1)检查网络连通性:在客户端执行ping 服务器IP
,若ping不通,检查服务器防火墙(sudo ufw status
/sudo firewall-cmd --list-all
)是否放行22端口(SSH默认端口),执行sudo ufw allow 22
或sudo firewall-cmd --add-port=22/tcp --permanent
开放端口。
(2)检查SSH服务状态:在服务器执行sudo systemctl status sshd
,若未运行,执行sudo systemctl start sshd
并设置开机自启(sudo systemctl enable sshd
)。
(3)检查客户端配置:确认SSH客户端输入的IP、端口(默认22)、用户名是否正确,若服务器修改过SSH端口(如2222),需在客户端指定-p 2222
参数。
(4)调整SSH超时配置:在服务器编辑/etc/ssh/sshd_config
文件,添加或修改以下参数(取消注释并调整值):ClientAliveInterval 60 # 每60秒向客户端发送一次心跳包 ClientAliveCountMax 3 # 最多发送3次心跳包,超时后断开连接
保存后执行
sudo systemctl restart sshd
重启SSH服务。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/31490.html