2024年8月26日

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

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

使用脚本为多个远程服务器设置无密码 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日

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 如何建立安全通信

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

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

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

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

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

如何使用 Git 部署 Jekyll 博客

介绍 Jekyll是一款从 Markdown 文件目录生成静态 HTML 网站的工具。此功能非常方便,因为生成的网站速度快、可移植性强,并且 nginx 等服务器可以轻松同时为许多用户提供服务,而无需使用缓存。 使用 Jekyll 最流行的方式是将您网站的文件保存在Git存储库中,在本地编辑它们,然后使用git push将网站部署到您的 VPS。 本地安装 如果还没有,您需要在本地机器上安装 Ruby、Jekyll 和 Git。 对于 Ruby,您可以使用单个命令使用 RVM 安装最新版本的 Ruby 2.0: curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0 完成后(需要几分钟),注销并重新登录。安装 Jekyll 很简单,只需获取 gem 即可jekyll。 gem install jekyll 现在你需要 Git,你可以从…
2024年8月26日

如何在 HTML 中使用 rel 属性作为链接标签

介绍 rel链接标签 ( ) 内的属性描述<link>了链接资源的关系。rel可以采用以下 16 个值之一。让我们全部检查一下。 先决条件 HTML5 的一般知识。如需全面了解 HTML5 标记语言,请浏览我们的系列文章《如何使用 HTML 构建网站》。 使用<rel>链接标签的属性 以下是该属性在标签rel内可以接受的16 个值:<link> alternate:文档的替代版本。 author:文档的作者。 dns-prefetch:应该为链接资源预取 DNS 查找和握手。 help:有关整个文档的帮助资源。 icon:图标资源。 license:许可和法律信息。 manifest:Web App Manifest文档。 next:本系列的下一个文档。 pingback:外部资源要求在评论中进行 pingback。 preconnec…