2024年8月26日

如何在 Linux 中设置正确的 SSH 目录权限

为了使 SSH 正常工作,它需要对~/.ssh或/home/username/.ssh目录具有正确的权限:所有用户特定的 ssh 配置和身份验证文件的默认位置。建议的权限是用户具有读/写/执行权限,并且组和其他人不得访问。 此外,ssh还要求目录内的文件对用户有读写权限,不能被其他人访问,否则用户可能会遇到以下错误: Authentication refused: bad ownership or modes for directory 本指南介绍如何在 Linux 系统上设置.ssh目录及其存储的文件的正确权限。 在 Linux 中设置正确的 SSH 目录权限 如果您遇到上述错误,您可以使用chmod命令在.ssh目录上设置正确的 ssh 目录权限。 # chmod u+rwx,go-rwx ~/.ssh OR # chmod 0700 ~/.ssh 要检查~/.ssh目录的…
2024年8月26日

如何在 Linux 中使用 Top 命令作为任务管理器

top 命令提供系统信息的快速概览。它报告当前进程的数据,默认每 3 秒刷新一次。使用和理解像 top 这样的程序是一项必不可少的系统管理技能。在本文中,我将教您如何自信地使用 top 命令。理解 Linux 中的 top 命令topTop 使用起来很简单。这个简单的命令会带你进入 top 应用程序。当你想退出时,输入字母 q 即可退出。还有其他键盘命令可以充分利用它,我将在后面讨论。Top 命令输出有两个部分您可以轻松检查 CPU 负载、当前任务数以及查看有关内存使用情况的信息。您会注意到,运行时基本上有 2 个部分包含信息。在终端顶部,我们可以看到概览数据,包括内存使用情况和 CPU 负载。在其下方,我们有一个包含大量详细信息的特定进程的表格。压缩格式中显示了很多详细信息。让我们将其分解成更小的部分,以便我们有一个更完整的理解。前四行包含我之前提到的概…
2024年8月26日

在云服务器上安装和使用 Vim 文本编辑器

介绍 最强大的命令行文本编辑器之一是 vim 编辑器。vim 建立在 1976 年推出的编辑器“vi”的基础上,增加了额外的功能和能力,同时保留了其前身的编辑风格。 本指南将介绍 vim 的安装和基本用法。 目录 安装 打开 Vim 模态编辑 导航 編輯 管理文档 综合起来 安装 由于 vim 在 Linux 命令行上的广泛使用,它几乎在每个发行版的默认存储库中都有。 在 Ubuntu 和 Debian 上,使用 apt-get 安装: sudo apt-get install vim 在 Fedora 和 CentOS 上,使用 yum 安装: sudo yum install vim 在 Arch Linux 上,可以通过 packman 安装 vim: sudo pacman -S vim Vim 现在应该已经正确安装。 打开 Vim 默认情况下,当不带任何参数调用 vim 时,它会打开一个空白文档。根据您的发行版,可能会有简介和…
2024年8月26日

如何使用 Drush 迁移和同步 Drupal 网站

介绍 如果您认为 Drush 在快速安装和更新 Drupal 模块方面非常出色,那么您应该看到它在迁移网站或保持多个网站同步方面的作用。如果您不知道 Drush 是什么,您可以阅读此入门教程,它将帮助您进行设置。如果您想了解如何使用一些基本的 Drush 命令,您还可以阅读此教程,它可以帮助您快速上手。 在本教程中,您将学习如何使用 Drush 更有效地将网站从一个 VPS 迁移到另一个 VPS,管理多个网站并轻松在它们之间同步。本教程假设您正在运行自己的云服务器,上面有 Drush,并且已经安装了 Drupal 网站。 Drush 别名 使用 Drush 执行操作时,通常您必须在 Drupal 文件夹中键入命令。当只需处理一个 Drupal 安装时,这不是问题。但有些情况下,我们将在本教程中看到,您需要管理多个站点。幸运的是,Drush 有一个很棒的功能,称为别名…
2024年8月26日

如何使用 Haveged 为云服务器设置附加熵

熵和随机性简介 Linux 伪随机数生成器 (PRNG) 是一种特殊设备,它通过硬件中断(键盘、鼠标、磁盘/网络 I/O)和其他操作系统源生成随机数。这种随机数主要用于 SSL/TLS 等加密,但也有许多其他用途。即使是像掷一对虚拟骰子这样简单的程序,也依赖于熵来实现高质量的随机数。 当熵池干涸时 Linux 上有两个通用随机设备:/dev/random 和 /dev/urandom。最佳随机性来自 /dev/random,因为它是一个阻塞设备,并且会等到有足够的熵才继续提供输出。假设您的熵足够,您应该从 /dev/urandom 看到相同质量的随机性;但是,由于它是一个非阻塞设备,它将继续产生“随机”数据,即使熵池耗尽。这可能会导致随机数据质量较低,因为重复以前的数据的可能性更大。当生产服务器上的可用熵不足时,可能会发生很多糟糕的事情,尤…
2024年8月26日

如何在云服务器上配置 tmux

关于 tmux tmux是一个终端多路复用器。它允许您使用多个虚拟终端访问 tmux 终端。 tmux 的安装和基本使用已在其相关文章中描述。 本文重点介绍如何在云服务器上配置 tmux(使用 screen 时非常困难)。tmux 的可配置性是我们可以使用的另一个强大的工具。 配置文件 当 tmux 启动时,它会在你的主目录中查找名为 的文件.tmux.conf。如果存在,则 tmux 使用该文件中设置的配置。 使用您最喜欢的文本编辑器,在您的主目录中打开一个名为 的新文件.tmux.conf。 对于 tmux,以“#”开头的行是注释。 前缀键 前缀键是 tmux 中所有命令前面的组合键。默认情况下,前缀键是Ctrl-b。这个组合键不仅在大多数键盘上按起来不舒服,而且还会与其他一些绑定(例如在 vim 中)冲突。 一种常见的替代方法是Ctrl-a。这种更舒适的组合来自…
2024年8月26日

如何使用 RVM 在 Arch Linux 上安装 Ruby on Rails

关于 Ruby on Rails Ruby on Rails 是一个应用程序堆栈,它为开发人员提供了一个快速创建各种 Web 应用程序的框架。 Ruby on Rails 在虚拟服务器上安装确实需要一些时间,但幸运的是,有很多有用的工具可以使这个过程尽可能简单。您可以以具有 sudo 权限的用户身份在您的 droplet 上运行本教程。您可以在此处查看如何设置:Arch Linux 服务器设置 第一步 - 使用 RVM 安装 Ruby 在我们做任何其他事情之前,我们应该运行快速更新以确保我们下载到我们的 VPS 的所有软件包都是最新的: pacman -Sy 完成后,我们可以开始安装 RVM(Ruby 版本管理器)。这是一个很棒的程序,可让您在一台服务器上使用多个版本的 Ruby;但是,在这种情况下,我们只会使用它在 droplet 上安装最新版本的 Ruby。 如果您的系统上没有 cu…
2024年8月26日

使用 Arch Linux 进行初始服务器设置

基础知识 当您首次开始访问全新的虚拟服务器时,您需要采取一些早期步骤来提高其安全性。一些首要任务包括设置新用户、为其提供适当的权限以及配置 SSH。 第一步 - Root登录 知道 IP 地址和 root 密码后,以主用户 root 身份登录。您可以通过 Mac 电脑上的终端和PC 上的PutTTy登录 不鼓励定期使用 root,本教程将帮助您设置备用用户以永久登录您的虚拟专用服务器。 ssh root@123.45.67.890 终端将显示: The authenticity of host '123.45.67.890 (123.45.67.890)' can't be established. ECDSA key fingerprint is 79:95:46:1a:ab:37:11:8e:86:54:36:38:bb:3c:fa:c0. Are you sure you want…
2024年8月26日

如何安装和配置 Monit

关于 Monit Monit 是一款非常有用的程序,它可以自动监控和管理服务器程序,以确保它们不仅始终保持在线,而且文件大小、校验和或权限始终正确。此外,monit 还附带一个基本的 Web 界面,可以通过该界面设置所有进程。本教程将介绍最基本的设置和配置。 安装 Monit Monit 最容易通过 apt-get 安装: sudo apt-get install monit 一旦 monit 下载完毕,您就可以将程序和进程添加到配置文件中: sudo nano /etc/monit/monitrc Monit 可以通过命令启动,然后保持在后台运行 monit 输入内容 monit status显示 monit 的详细信息: The Monit daemon 5.3.2 uptime: 1h 25m System 'myhost.mydomain.tld' status Running mon…
2024年8月26日

深入了解 Capistrano 的配置 #2

到目前为止,应用程序部署的基础结构已经创建。现在我们将进入实际的部署过程。首先,我们将更改一些设置,然后部署我们的应用程序。 部署.rb 在此阶段,我们的 deploy.rb 文件应该如下所示 set :application, "domain.com" set :user, "username" set :repository, "svn+MyTestProject1ssh://12.34.56.789/home/username/repository/MyTestProject1" # If you aren't deploying to /u/apps/#{application} on the target # servers (which is the default), you can specify the actual location # via the :deploy…