SSH(安全外壳)是Linux生态系统中的基础工具,用于远程访问、安全文件传输、自动化和服务器管理。虽然大多数用户通过ssh命令与SSH交互,但在后台 SSH依赖于公钥和私钥对进行身份验证——特别是在无密码登录、自动化和DevOps实践至关重要的环境中。 默认SSH密钥存储位置 SSH密钥最常存储的位置是: ~/.ssh/ 这指的是用户主文件夹中的.ssh目录,例如: /home/username/.ssh/ 此目录中的常见文件: 文件 目的 id_rsa 默认私钥(RSA) id_rsa.pub 匹配的公钥 id_ecdsa, id_ed25519 其他私钥(ECDSA, Ed25519) id_*.pub 对应的公钥 authorized_keys 存储允许连接的公钥 known_hosts 存储服务器指纹(主机密钥验证) config 用户特定的SSH客户端配置 如果您使用ssh-keygen生成密钥,默认情况下它们存储在这里,除非指定了路径。 系统范围的SSH密钥位置 SSH服务器(sshd)主机密钥 由SSH守护进程(服务器端)使用的系统范围密钥: /etc/ssh/ 典型文件: 文件 目的 ssh_host_rsa_key 主机私钥(RSA) ssh_host_rsa_key.pub 主机公钥 ssh_host_ecdsa_key ECDSA主机私钥 ssh_host_ed25519_key Ed25519主机私钥 这些密钥用于识别服务器到客户端,而不是用于验证用户。 SSH守护进程(sshd)在连接期间提供主机公钥;客户端将其与~/.ssh/known_hosts进行比较。 自定义密钥位置 您可以从任何位置生成或使用SSH密钥,但必须指定路径: ssh -i /path/to/custom_key user@host 您还可以通过~/.ssh/config配置多个密钥: Host myserver HostName 192.168.1.100 […]
Linux系统安全和多用户架构的一个关键基础是其文件权限模型。与Windows不同,Linux严格执行系统中每个文件和目录的所有权和访问控制。掌握文件权限不仅关乎安全——它对于管理服务器、部署软件、运行脚本和自动化任务至关重要。 Linux文件权限模型 Linux中的每个文件和目录都有三种类型的访问权限,分配给三种类型的用户: 用户类别 描述 所有者 拥有文件的用户 组 文件组中的用户 其他 系统中的所有其他用户 每个类别可以被赋予三种类型的权限: 权限 符号 含义 读取 r 查看文件内容 / 列出目录 写入 w 修改文件或目录 执行 x 运行文件或访问目录 使用ls -l查看权限 使用ls -l命令显示文件权限: ls -l myscript.sh 输出: -rwxr-xr– 1 alice devs 2048 Jan 25 10:00 myscript.sh 细分: – → 常规文件 rwx → 所有者(读取/写入/执行) r-x → 组(读取/执行) r– […]
在Linux中,“更改用户”这个短语可以描述几种不同的操作——有些是临时和基于会话的,有些是永久和系统范围的。由于Linux是一个多用户操作系统,它提供了多种切换身份和权限的方法,具体取决于您想要实现的目标:管理服务器、以有限权限运行应用程序、修复文件访问问题或重组用户帐户。 在Linux中更改“用户”根据上下文可能意味着几种不同的事情: 在shell中切换到另一个帐户(例如,从john切换到root) 当您需要以另一个用户的身份进行交互式终端会话时使用——通常用于系统管理或测试某些内容在不同帐户环境下的行为。 以另一个用户身份运行单个命令 当您只需要提升权限或不同身份来执行一项任务(如重新启动服务或运行数据库命令)而不完全切换会话时,这是理想的选择。 更改服务/进程的默认登录用户 服务(Web服务器、数据库、应用程序)通常应在专用的非root用户下运行以确保安全。更改服务用户会影响进程的运行方式及其可以访问的内容。 更改文件和目录的所有者 文件所有权控制访问。如果权限错误——在迁移、恢复或部署后很常见——您可以通过重新分配所有权来“更改用户”,以便正确的帐户可以读取/写入文件。 更改用户身份属性(用户名、UID、组) 这属于帐户管理:重命名用户、更改其UID或调整组成员资格(如授予sudo访问权限)。这些更改可能会影响登录、权限和服务访问。 本指南涵盖所有这些场景,展示何时使用每种方法,如何安全地执行,以及应避免哪些错误——以便您可以自信地更改用户,而不会破坏权限、服务或访问。 切换到另一个用户(交互式shell) su(切换用户) su – username -(或-l)加载目标用户的完整登录环境:主目录、PATH、shell配置文件。 不带-,您将保留当前环境的大部分(可能会令人困惑)。 切换到root: su – 安全提示:在许多发行版中,su需要目标用户的密码(例如,root密码),这通常是禁用的。 sudo -i(适用于root/admin shell) sudo -i 为您提供一个root登录shell(类似于su -),使用您的sudo权限而不是root密码。 使用登录shell切换到另一个用户: sudo -iu username 以另一个用户身份运行单个命令(非交互式) sudo -u sudo -u username whoami sudo -u postgres psql 以干净的登录类环境运行: sudo -iu username 以root身份运行命令 sudo systemctl restart nginx […]
在管理强大的专用服务器时,完全控制您的操作系统安装和硬件管理工具是至关重要的。在 AlexHost,我们为所有专用服务器提供 IPKVM(基于 IP 的键盘、视频和鼠标)访问 — 包括完整的 BIOS 级控制和上传及安装您选择的自定义 ISO 镜像的能力。 虽然每台 AlexHost 服务器都提供 IPKVM,但本指南专注于基于 双 CPU (2xCPU) 平台的配置,这种功能通常用于复杂的虚拟化环境、自定义虚拟机监控程序或高级操作系统部署任务。 什么是 ISO 镜像? ISO 镜像 是一个单一文件,代表整个光盘 — 通常是可引导的安装介质,如操作系统安装程序(Linux、Windows 或 BSD)。它包含安装或运行系统所需的所有文件、文件夹和引导数据,使其成为远程安装和自定义部署的理想格式。 系统管理员和开发人员使用 ISO 镜像来: 安装自定义操作系统或虚拟机监控程序(例如,Proxmox、VMware ESXi 或 FreeBSD); 部署预配置的环境以进行测试或生产; 在多台服务器上创建一致的系统安装; 在没有物理访问硬件的情况下重新安装操作系统。 什么是 IPKVM 访问? IPKVM(互联网协议键盘、视频、鼠标) 访问是一种 远程硬件管理接口,允许您直接与您的专用服务器进行交互 — 就像您亲自坐在它面前一样。 通过 IPKVM,您可以: 实时查看服务器的实时屏幕输出; 访问 BIOS 并修改低级硬件设置; 直接从您的本地计算机或远程 URL […]
Linux Mint 是最受欢迎且用户友好的 Linux 发行版之一。它快速、稳定且免费使用。如果您来自 Windows,您会发现它的界面熟悉且易于导航。在本指南中,我们将逐步指导您如何从 USB 驱动器安装 Linux Mint,即使您从未安装过操作系统。 1. 开始前需要准备的事项 要安装 Linux Mint,请准备以下内容: USB 闪存驱动器 — 至少 4 GB(推荐 8–16 GB 以获得更快的性能)。 一台可以上网的计算机 — 用于下载 Linux Mint 和所需工具。 Linux Mint ISO 文件 — 这是安装镜像,类似于包含操作系统的“数字 DVD”。 可启动 USB 创建软件 — 例如: Rufus 适用于 Windows balenaEtcher 适用于 macOS 或 Linux 重要文件的备份 — 如果您计划擦除当前系统,所有数据将会丢失。 AlexHost 提示: […]
近年来,Chromebook因其简单性、速度和经济性而获得了巨大的普及。然而,对于高级用户和开发者来说,Chrome OS的局限性可能成为一种约束。这使得许多人开始询问:可以在Chromebook上安装Linux吗?答案是肯定的——根据您的需求和硬件兼容性,有多种方法可以实现这一点。 为什么在Chromebook上安装Linux? 在Chromebook上安装Linux可以解锁强大的功能,例如: 访问完整的Linux应用程序(例如,GIMP、LibreOffice、VS Code) 用于Python、C++、JavaScript等编程的开发环境 更传统的桌面体验 能够使用基于终端的工具和包管理器(例如,apt、pacman) 官方方法:Crostini(Linux(Beta)) 谷歌推出了Crostini,作为在Chrome OS上运行Linux的原生方式。它在大多数现代Chromebook上可用。 特点: 安全的基于容器的环境 与Chrome OS文件系统集成 无需禁用操作系统验证或开发者模式 如何启用: 转到设置 > 高级 > 开发者 启用“Linux开发环境(Beta)” 按照设置向导进行操作 安装完成后,将打开一个基于Debian的终端,您可以使用apt安装应用程序。 sudo apt update && sudo apt install gimp 注意: Crostini使用的容器是沙盒和安全的,但可能无法提供完全的硬件访问(例如,GPU加速)。 高级方法:通过chrx或Crouton安装完整的Linux发行版 如果您需要对操作系统进行完全控制,或需要不同的Linux发行版,可以使用更高级的方法,如chrx或Crouton。 chrx(双启动): 支持GalliumOS和Ubuntu等发行版 需要启用开发者模式 双启动Chrome OS和Linux 基本步骤: sudo crossystem dev_boot_usb=1 dev_boot_legacy=1 curl -Os https://chrx.org/go && sh go Crouton(Chroot环境): […]
全球有数十亿设备运行Android——从智能手机到智能电视、平板电脑甚至汽车系统——自然会有人问:Android是由Linux驱动的吗? 答案是复杂的。虽然Android并不是像Ubuntu或Fedora那样的典型Linux发行版,但它的基础无疑根植于Linux内核。然而,理解这种关系需要更深入地了解Linux是什么以及Android已经发展成什么样。 Android的基础:Linux内核 从本质上讲,Android是由修改过的Linux内核驱动的,这是负责管理系统硬件和资源的低级软件。这个内核作为Android操作系统的核心,处理: 内存和进程管理 硬件抽象 网络通信 设备驱动程序集成 像SELinux这样的安全机制 然而,谷歌为内核定制了Android特定的组件,例如: Wakelocks——用于电池管理 Binder IPC——用于进程间通信 Ashmem——一种共享内存机制 Logger和Low Memory Killer——用于日志记录和性能调优 这些变化使得Android内核在移动环境中高度优化,但与用于服务器或桌面的主线Linux内核有显著不同。 超越内核:Android不是GNU/Linux 尽管共享一个共同的内核基础,Android并不是一个GNU/Linux操作系统。传统的Linux桌面生态系统包括以下组件: GNU Bash shell 核心工具(grep、awk、sed等) 包管理器(例如APT、YUM) X11或Wayland显示服务器 Systemd或其他初始化系统 Android用其自定义堆栈替换了这些组件: Bionic libc——为移动设备量身定制的轻量级C库 ART(Android Runtime)——执行编译为字节码的Android应用 SurfaceFlinger——渲染UI而不是使用X11 Init(Android特定)——管理系统服务和启动顺序 因此,虽然Linux内核位于表面之下,内核之上的一切都是专为Android构建的。 架构概述:Android的结构 以下是Android架构的分解: a) Linux内核处理核心功能,如驱动程序支持、电源管理、内存和系统安全。 b) 硬件抽象层(HAL)在硬件和更高级API之间进行接口交互。 c) 原生库和Android Runtime(ART)包括OpenGL ES、WebKit和ART(替代了Dalvik VM)。 d) 应用框架提供用于构建应用的Java/Kotlin API,如内容提供者、活动管理器等。 e) 应用程序用户安装的应用和系统应用,如拨号器、联系人和设置,运行在自己的沙盒环境中。 这种结构使得Android能够在各种设备上实现模块化和可扩展性。 可以在Linux上运行Android应用(或反之)吗? 一般来说,不可以。Android和Linux应用程序并不直接兼容: Android应用被编译成 […]
双重启动 Windows 10 和 Linux 让你享受两全其美——Windows 用于游戏和通用应用程序,Linux 用于开发、系统管理或开源工具。然而,在一台机器上管理两个操作系统是一项精细的操作,需要精准和规划。 本高级指南将引导您通过使用 UEFI、GPT 和现代 Linux 发行版(如 Ubuntu、Fedora 或 Arch Linux)设置一个干净高效的双重启动系统的步骤。 步骤 1:为双重启动准备磁盘 选项 A:Windows 已安装 缩小 Windows 分区: 转到 磁盘管理 → 右键单击主分区(通常是 C:)→ 缩小卷。 为 Linux 留下 至少 50 GB 的未分配空间。 禁用快速启动和 BitLocker: 控制面板 → 电源选项 → 选择电源按钮的功能 → 关闭 快速启动。 确保系统驱动器上的 BitLocker 已关闭(控制面板 > BitLocker)。 检查 EFI […]
连接到GPU 专用服务器的过程包括多个阶段:从选择合适的套餐到设置和开始工作。以下是成功连接和使用服务器的主要步骤。 选择合适的套餐 AlexHost 提供两种 GPU 专用服务器套餐: 专用服务器配备了两块强大且现代的2x RTX 4070 Ti SUPER显卡。另一个重要元素是,AlexHost 提供了一整套预装工具和框架,专门设计用于简化大型语言模型(LLMs)的部署和使用,使您能够立即开始使用 AI 解决方案。这将帮助您立即获得一个可部署的 AI 工具的服务器。 Oobabooga 文本生成 UI PyTorch (CUDA 12.4 + cuDNN) SD Webui A1111 Ubuntu 22.04 虚拟机:GNOME 桌面 + RDPXFCE 桌面 + RDPKDE Plasma 桌面 + RDP 另外:应要求,我们可以安装任何操作系统 如何连接到您的 GPU 服务器 成功付款后,您将收到服务器的访问权限和凭据到您的电子邮件。我们也准备提供有关如何连接到您的 GPU 专用服务器的说明。说明非常简单,只需按照下面描述的步骤进行操作。 因此,在成功订购 GPU 服务器后,您可以进入您的帐户并从已激活服务的列表中选择它。然后通过单击所选服务打开它。 要查看DCIManager的登录凭据,您需要转到登录详细信息部分 您将能够通过您帐户中提供的链接,并在那里查看用户名和相应的密码。 选择三个点后,您应该单击“从模板安装操作系统”以查看可用的操作系统和 LLM […]
GNOME桌面环境是最受欢迎和用户友好的图形界面之一,适用于Linux系统。它提供了现代、简洁的界面和广泛的应用程序供用户使用。本文将指导您在Debian系统上安装GNOME桌面环境。 1. 先决条件 在开始之前,请确保您拥有: 一台运行Debian的计算机。 Sudo权限以安装软件包。 稳定的互联网连接。 2. 更新您的系统 打开终端并更新您的软件包索引,以确保您拥有最新的可用软件包信息: sudo apt update sudo apt upgrade -y 3. 安装GNOME桌面环境 步骤1:安装GNOME 要安装完整的GNOME桌面环境,请运行以下命令: sudo apt install gnome -y 此命令将安装GNOME及一组默认应用程序和工具。 4. 配置显示管理器 在安装过程中,您可能会被提示选择一个显示管理器。显示管理器负责登录屏幕和启动GNOME会话。您可以选择GDM(GNOME显示管理器)或LightDM。 如果被提示:选择GDM作为您的显示管理器,因为它与GNOME无缝集成。 5. 重启您的系统 安装完成后,重启您的系统以加载新的GNOME桌面环境: sudo reboot 6. 登录GNOME 系统重启后,您将看到GDM登录屏幕: 输入您的用户名和密码。 如果您安装了多个桌面环境,请在登录之前点击齿轮图标并选择GNOME。 点击登录按钮以访问您的GNOME桌面环境。 7. 探索GNOME 登录后,您将看到GNOME桌面环境,具有以下功能: 活动概览:按下Super(Windows)键或点击左上角的“活动”按钮以访问活动概览,您可以在此启动应用程序、访问工作区和管理打开的窗口。 顶部栏:顶部栏提供对系统通知、设置和用户账户菜单的快速访问。 应用程序:GNOME软件应用程序使您能够轻松安装和管理应用程序。 8. 自定义GNOME 您可以根据自己的喜好自定义GNOME桌面环境: 设置:从屏幕右上角访问GNOME设置应用程序,以调整各种设置,包括显示、声音、网络和隐私。 扩展:GNOME支持可以增强功能的扩展。您可以使用GNOME扩展网站或通过GNOME Tweaks工具管理和安装扩展。 9. […]
