禁用远程主机对SSH的公钥进行检查的方法

禁用远程主机对SSH公钥进行检查的方法是通过修改SSH客户端配置文件来实现。具体步骤如下:

1. 打开SSH客户端配置文件

在终端中打开SSH客户端配置文件 ~/.ssh/config (如果该文件不存在,可以创建一个)

vi ~/.ssh/config

2. 添加配置内容

在配置文件中添加以下内容:

Host *
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
  • Host *:表示对所有主机都禁用公钥检查
  • StrictHostKeyChecking no:表示禁用严格主机密钥检查
  • UserKnownHostsFile=/dev/null:表示禁用对已知的主机密钥进行验证,并且将所有主机都视为未知主机

保存配置文件并退出。

示例说明

示例一:连接GitHub

假设有一台Ubuntu主机需要从GitHub拉取代码并执行构建部署等操作。如果不禁用公钥检查,可能会在第一次连接时遇到以下错误:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)?

这个提示会在 SSH 连接时出现,告诉你当前连接的主机没有在本地 SSH 客户端的证书列表中,会询问是否要添加该主机并信任其 SSH 证书。如果选择“yes”,会将主机添加到本地证书列表,以前会对该主机进行验证。由于常规的 SSH 连接大多数情况下都是交互式的,这个提示并不会对正常的操作产生太多影响。但是,如果需要通过脚本或其他工具自动化执行 SSH 连接,这个交互环节显然是不利于执行的。

为了解决这个问题,可以通过禁用公钥检查来实现自动化 SSH 连接,示例如下:

Host github.com
    User git
    Hostname github.com
    IdentityFile ~/.ssh/id_rsa
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null

在上面的示例中,添加了一个名为“github.com”的主机,并对该主机禁用了公钥检查,这样我们就可以无交互的方式连接 GitHub 了。

示例二:连接内网主机

假设需要连接一个内网主机,该主机可能无法被任何外部计算机所访问,因此在首次连接该主机时可能会出现以下错误:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

这样的错误提示意味着远程主机的 SSH 公钥被修改或更换过,因此需要重新验证。如果确定公钥是正确的,可以通过禁用公钥检查来实现 SSH 连接,示例如下:

Host internal_host
    User john
    Hostname 192.168.1.10
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null

在上面的示例中,添加了一个名为“internal_host”的主机,并对该主机禁用了公钥检查,这样我们就可以无交互地连接内网主机了。但需要注意的是,禁用公钥检查存在安全风险,因此在一定程度上降低了安全性。建议在非必须的情况下尽量不要禁用公钥检查。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:禁用远程主机对SSH的公钥进行检查的方法 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • Springboot集成minio实现文件存储的实现代码

    下面我会详细讲解如何使用Springboot集成Minio实现文件存储的实现代码,步骤如下: 1. 引入依赖 在Springboot项目中,我们需要引入Minio的Java SDK依赖,如下所示: <dependency> <groupId>io.minio</groupId> <artifactId>mini…

    Linux 2023年5月24日
    00
  • linux安装RabbitMQ详细教程

    下面是关于“Linux安装RabbitMQ详细教程”的完整攻略: 1.安装Erlang RabbitMQ是使用Erlang编写的,因此需要首先安装Erlang。 在Ubuntu系统中,可以使用以下命令安装Erlang: sudo apt-get update sudo apt-get install erlang 如果你使用其他的Linux发行版,可以参考官…

    Linux 2023年5月14日
    00
  • linux下使用Apache搭建文件服务器的步骤

    以下是“Linux下使用Apache搭建文件服务器的步骤”的完整使用攻略,包含两个示例说明。 步骤 安装Apache服务器。在终端中输入命令: bash sudo apt-get update sudo apt-get install apache2 启动Apache服务器。在终端中输入以下令: bash sudo service apache2 start…

    Linux 2023年5月13日
    00
  • centos7利用yum安装lnmp的教程(linux+nginx+php7.1+mysql5.7)

    下面我将详细讲解如何在CentOS 7上使用yum安装LNMP环境。 环境准备 在操作系统CentOS 7上安装LNMP环境,需要准备以下环境: 已经安装了CentOS 7操作系统的服务器; 确认已经安装了yum软件包管理器。 安装LNMP 安装LNMP环境需要进行以下步骤: 1.安装EPEL源 在CentOS上安装LNMP环境前,需要先安装EPEL源,命令…

    Linux 2023年5月14日
    00
  • KVM虚拟机的常用操作命令整理

    KVM虚拟机的常用操作命令整理 KVM是一种常用的虚拟化技术,常用于创建虚拟机,下面整理了一些KVM虚拟机的常用操作命令。 1. 创建虚拟机 创建虚拟机需要使用virt-install命令。下面是创建一个基本的虚拟机的命令示例: virt-install –connect qemu:///system \ –name test \ –ram 2048 …

    Linux 2023年5月24日
    00
  • Linux中 OpenSSH 输入验证错误漏洞(CVE-2019-16905) 修复解决方案

    https://www.o6c.com/java/2020/11/01/1432.html  https://blog.csdn.net/sunmenggmail/article/details/42526117 https://blog.csdn.net/baidu_36209638/article/details/109121765 https://bl…

    Linux 2023年4月11日
    00
  • php中如何执行linux命令详解

    在PHP中,如果需要执行Linux命令,可以使用exec()函数、shellexec()函数或者system()函数。这三个函数都可以在PHP程序中执行Linux命令。 exec()函数 exec()函数可以执行Linux下的命令,并通过一个数组返回结果。例如,我们要在Linux系统中查看目录下文件名,可以使用以下代码: $dir = "/home…

    Linux 2023年5月14日
    00
  • Kloxo-MR VPS主机控制面板-安装使用及中文设置方法

    Kloxo-MRVPS主机控制面板-安装使用及中文设置方法 Kloxo-MRVPS是一款免费的主机控制面板,它支持Linux VPS和服务器,包括CentOS、Debian、Ubuntu等主流Linux操作系统。本攻略将介绍Kloxo-MRVPS的安装使用及中文设置方法。 Step 1:安装Kloxo-MRVPS 首先,我们需要在VPS或服务器上安装Klox…

    Linux 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部