2024年8月26日

如何在 Fedora 上为 SSH 设置双因素身份验证

每天都有很多安全漏洞被报道,我们的数据处于危险之中。尽管 SSH 是一种与 Linux 系统建立远程连接的安全方式,但即使您禁用密码或仅允许通过公钥和私钥进行 SSH 连接,未知用户如果窃取了您的 SSH 密钥,仍然可以访问您的 Linux 计算机。 在本文中,我们将解释如何使用Google Authenticator为Fedora Linux 发行版上的 SSH 设置双因素身份验证 ( 2FA ),通过提供由移动设备上的身份验证器应用程序随机生成的TOTP(基于时间的一次性密码)号码以更安全的方式访问远程 Linux 系统。 另请阅读:如何在 CentOS 和 Debian 中为 SSH 登录设置双因素身份验证 请注意,您可以使用任何与TOTP算法兼容的双向身份验证应用程序来为您的移动设备服务。有许多适用于 Android 或 IOS 的免费应用程序支持TOTP和Googl…
2024年8月26日

如何通过 SSH 使用 Ytalk 设置安全私人聊天服务器

Ytalk是一款免费的多用户聊天程序,其工作原理与 UNIX talk 程序类似。ytalk 的主要优点是它允许多个连接,并且可以同时与任意数量的用户进行通信。 在本文中,我们将解释如何通过SSH使用Ytalk安装和设置私有的、加密的和经过身份验证的聊天服务器,以便每个参与者可以安全、无密码地访问聊天服务器。 另请参阅:ssh-chat – 通过 SSH 与其他 Linux 用户进行群聊/私聊 在 Linux 中安装 Ytalk 和 OpenSSH 服务器 如下所示,使用APT 包管理器安装Ytalk和OpenSSH 服务器。 $ sudo apt-get update $ sudo apt-get install ytalk openssh-server 安装完成后,openbsd-inetd和sshd服务应由安装程序自动启动。您可以检查它们是否已启动并正在运行,如下所示:…
2024年8月26日

如何使用 Puma 和 Foreman 设置零停机时间 Rails 部署

介绍 Puma是一款高效的 Ruby Web 服务器,能够很好地处理 Rack 应用(例如 Rails)。Puma 使用线程和/或工作线程提供并发性。您可以使用 Puma 的集群模式(使用工作线程)部署应用而无需停机。Puma 将逐个重新启动工作线程,在此期间其他工作线程将继续处理。这很好,因为当您将更新部署到应用时,您的用户将不再看到延迟响应或错误页面。 在本指南中,我们将使用以下内容: Puma作为我们的网络服务器 负责管理我们的应用程序(这不是绝对必要的,但它确实使生活变得更轻松) Capistrano部署(部署说明相当通用,可以轻松地重新应用于其他方法) 本指南假设您已有一个要使用的现有 Rails 应用程序。如果您还没有开始,请参阅Rails 入门指南。本指南还假设您正在使用 Ubuntu;请在此处阅读如何设置它。我们将在本指南中使用Ups…
2024年8月26日

SSHFS:通过 SSH 挂载远程文件系统

SSHFS 本身是用户空间 ( FUSE )中的文件系统,它使用 SSH 文件传输协议 (SFTP) 来挂载远程文件系统。该sshfs命令是一个客户端工具,用于使用 SSHFS 在您的计算机上本地挂载来自另一台服务器的远程文件系统。 注意: 用户空间(或用户区)是所有在内核之外运行的操作系统代码。 虽然不如本地文件系统那么高效,但sshfs它是使用本地程序和工具处理另一台计算机上的文件的简单方法。最重要的是,它sshfs可以由本地计算机上的非特权用户使用(事实上,建议在使用时不要使用 root 用户或提升权限sshfs),并且除了启用 SFTP 的 SSH(一种常见设置)之外,它不需要远程计算机上的任何特殊软件。 安装sshfs 该sshfs 工具可从大多数发行版的标准存储库获得,并且最容易使用该发行版的包管理器进行安装。对于 Fedora,…
2024年8月26日

使用 ProxyJump 通过代理或堡垒通过 SSH 连接到远程主机

堡垒主机的概念对计算来说并不新鲜。堡垒主机通常是面向公众的强化系统,可作为防火墙或其他受限制位置后面的系统的入口点,它们在云计算兴起时尤其受欢迎。 该ssh命令提供了一种简单的方法,可以使用单个命令利用堡垒主机连接到远程主机。无需先通过 SSH 连接到堡垒主机,然后ssh在堡垒上使用连接到远程主机,而是ssh可以使用 自行创建初始连接和第二个连接ProxyJump。 ProxyJump ProxyJump或 标志-J是在ssh版本 7.3 中引入的。要使用它,请在标志后指定要连接的堡垒主机-J,以及远程主机: $ ssh -J <bastion-host> <remote-host> 如果主机之间的用户名和端口不同,您还可以设置特定的用户名和端口: $ ssh -J user@<bastion:port&g…
2024年8月26日

SSH 如何建立安全通信

当我们发送敏感信息/信件时,我们希望它对外界保密。因此,我们确保它受到保护,方法是将其密封在信封中,然后使用美国邮政服务 (USPS) 将其发送到目的地。至少,这是我们过去发送信息的方式。我甚至没有参与有关加密和摩尔斯电码的讨论,它们使用了更高级的保密级别。 现在,由于人类已经进化并适应了互联网,我们使用安全连接来交换信息。以前,我们使用 telnet 连接到使用端口 23 的远程服务器。问题是我们通过纯文本发送信息,这意味着任何想要阅读信息的人都可以嗅探网络,信息就会被泄露(相当于他们可以打开通过 USPS 发送的信件并阅读它。) 这个结果并不是我们在发送原始消息时想要的。总得有一种安全的方法将消息发送到远程服务器吧?当然,解决方案是通过安全外壳 (SSH) 发送。 SSH 如何发送加密消息 图像 因此,我希望使用加密消息从客户端到服务器进…
2024年8月26日

Tmate – 与 Linux 用户安全地共享 SSH 终端会话

tmate是tmux (终端多路复用器)的克隆版本,它通过 SSH 连接提供安全、即时且易于使用的终端共享解决方案。它建立在tmux之上;您可以在同一系统上运行这两个终端仿真器。您可以使用 tmate.io 上的官方服务器,也可以托管您自己的 tmate 服务器。 下图显示了tmate的不同组件的简化架构图(从项目网站获得)。 tmate – 简化架构图 Tmate 如何运作? 启动Tmate时,会先通过libssh在后台与tmate.io服务器建立ssh连接,建立连接后会为每个会话生成一个150位的会话令牌,受信任的用户可以使用该令牌访问终端会话。 如何在 Linux 中安装 Tmate 可以使用包管理器从大多数 Linux 发行版的默认存储库中安装Tmate ,如图所示。 在基于Debian和Ubuntu的 Linux 发行版中,使用以下 PPA 安装Tmat…
2024年8月26日

使用脚本为多个远程服务器设置无密码 SSH 登录

基于 SSH 密钥的身份验证(也称为公钥身份验证)允许无密码身份验证,它是一种比密码身份验证更安全、更好的解决方案。SSH无密码登录的一个主要优点(更不用说安全性)是它允许自动化各种跨服务器进程。 相关阅读:如何保护和强化 OpenSSH 服务器 在本文中,我们将演示如何使用 shell 脚本创建 SSH 密钥对并一次将公钥复制到多个远程 Linux 主机。 在 Linux 中创建新的 SSH 密钥 首先,使用ssh- keygen 命令生成 SSH 密钥对(SSH 客户端登录远程 SSH 服务器时用于验证自身身份的私钥/身份密钥以及作为授权密钥存储在运行 SSH 服务器的远程系统上的公钥),如下所示: # ssh-keygen 在 Linux 中生成 SSH 密钥 为多个远程登录创建 Shell 脚本 接下来,创建一个 shell 脚本,帮助将公钥复制到多个远程 Linux 主机。 # vim ~…
2024年8月26日

如何在 Linux 中增加 SSH 连接超时

由于不活动而导致的 SSH 超时可能非常令人恼火。这通常迫使您重新启动连接并重新开始。 值得庆幸的是,您可以轻松增加 SSH 超时限制,即使在某些不活动之后也能保持 SSH 会话处于活动状态。当服务器或客户端向另一个系统发送空数据包以保持会话处于活动状态时,就会发生这种情况。 相关阅读:如何保护和强化 OpenSSH 服务器 现在让我们探讨如何增加 Linux 中的 SSH 连接超时。 增加 SSH 连接超时 在服务器上,转到/etc/ssh/sshd_config配置文件。 $ sudo vi /etc/ssh/sshd_config 滚动并找到以下参数: #ClientAliveInterval #ClientAliveCountMax 该ClientAliveInterval参数指定服务器在向客户端系统发送空数据包以保持连接之前等待的时间(以秒为单位)。 另一…
2024年8月26日

如何修复 Linux 中的“无路由到主机” SSH 错误

SSH是远程连接 Linux 服务器最安全的方式。使用 SSH 时遇到的常见错误之一是“ ssh:连接到主机端口 22:没有到主机的路由”。在这篇短文中,我们将展示如何排除故障并修复此错误。 以下是我们正在讨论的错误的屏幕截图。请注意,端口不一定是端口22,具体取决于您在远程主机上的配置。作为安全措施,系统管理员可以将 SSH 配置为通过其他端口访问。 SSH 没有路由到主机错误 出现此错误的原因有很多种。第一种通常是远程服务器可能已关闭,因此您需要使用ping 命令检查它是否已启动并正在运行。 # ping 192.168.56.100 Ping Linux 服务器 从ping 命令结果来看,服务器已启动并正在运行,这就是它接受 ping 的原因。在这种情况下,错误的原因在于其他原因。 如果您的远程服务器上运行了防火墙服务,则防火墙可能会阻止通过端口22的…