首页 > 其他分享 >关闭ssh使用DNS、秘钥检查的配置

关闭ssh使用DNS、秘钥检查的配置

时间:2024-11-15 09:29:16浏览次数:1  
标签:DNS no 主机名 秘钥 ssh sshpass StrictHostKeyChecking 连接

一、何为UseDNS? 何为GSSAPIAuthentication?

1. 关闭UseDNS和GSSAPIAuthentication

    UseDNS yse : 服务器会先根据客户端的 IP地址进行 DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,并验证是否与原始 IP地址一致,通过此种措施来防止客户端欺骗。
    GSSAPIAuthentication yes : 基于 GSSAPI 的用户认证,服务器端默认启用了GSSAPI。登陆的时候客户端需要对服务器端的IP地址进行反解析,如果服务器的IP地址没有配置PTR记录,那么就会在这里卡住。

2.如何关闭

echo 'UseDNS no' >>/etc/ssh/sshd_config
sed -i 's/#GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config

systemctl restart sshd

二、在用ssh客户端第一次登录远程Linux的时候通常会报如下的错误

 

The authenticity of host 'IP' can't be established.
ECDSA key fingerprint is SHA256:+9UZGqPe/Rdaiz9jTg0P5ZtGMl6gVP0i+iPTh8sHwt4.
Are you sure you want to continue connecting (yes/no)?
Host key verification failed.

在这过程中,即使你选择了yes,也是连接不上的。

分析

原因在于每次远程登录Linux的时候,Linux都要检查一下,当前访问的计算机公钥是不是在~/.ssh/know_hosts中,这个文件时OpenSSH记录的。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免你受到DNS Hijack之类的攻击。SSH对主机的public_key的检查等级是根据StrictHostKeyChecking变量来配置的。默认情况下,StrictHostKeyChecking=ask。简单所下它的三种配置值:
1.StrictHostKeyChecking=no
最不安全的级别,当然也没有那么多烦人的提示了,相对安全的内网测试时建议使用。如果连接server的key在本地不存在,那么就自动添加到文件中(默认是known_hosts),并且给出一个警告。
2.StrictHostKeyChecking=ask #默认的级别,就是出现刚才的提示了。如果连接和key不匹配,给出提示,并拒绝登录。
3.StrictHostKeyChecking=yes #最安全的级别,如果连接与key不匹配,就拒绝连接,不会提示详细信息。

解决方法

      1. 根据上面的理论,我们用下面的命令登录就不会出问题了。
ssh  -o StrictHostKeyChecking=no [email protected]
修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下两行配置:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null

之后记得重启,顺便使用在什么环境下的服务器考虑一下安全性问题。

 

sshpass

基本用法‌

  1. 自动输入密码‌:使用sshpass -p '密码' ssh 用户名@主机名命令可以自动输入密码进行远程连接。
  2. 远程连接指定端口‌:使用sshpass -p '密码' -p 端口号 ssh 用户名@主机名可以连接到指定端口。
  3. 密码文件读取‌:使用sshpass -f 密码文件 ssh 用户名@主机名可以从文件中读取密码进行连接。
  4. 执行命令‌:使用sshpass -p '密码' ssh -o StrictHostKeyChecking=no 用户名@主机名 '命令'可以在远程主机上执行命令,-o StrictHostKeyChecking=no选项可以忽略密码提示。

安装方法

  1. 使用yum安装‌:在基于RPM的系统中,可以使用yum install sshpass命令安装sshpass。
  2. 从源代码安装‌:如果yum安装不上,可以从SourceForge下载源代码包,解压后配置、编译并安装。

配置和使用示例

  1. 配置别名‌:可以在.bashrc.zshrc文件中配置sshpass的别名,方便快速连接主机。
  2. 自动接受主机指纹‌:使用ssh-keyscan命令预先获取远程主机的指纹,并添加到known_hosts文件中,或者在连接时使用-o StrictHostKeyChecking=no选项临时禁用主机密钥检查。
  3. 脚本使用‌:可以编写脚本使用sshpass自动化执行远程操作,例如自动上传文件、执行命令等。

标签:DNS,no,主机名,秘钥,ssh,sshpass,StrictHostKeyChecking,连接
From: https://www.cnblogs.com/wangdidi/p/18547374

相关文章

  • openssh 漏洞修复 openssl升级 OpenSSH_9.8p1麒麟系统
    第一步:准备好要升级的包下图所示使用命令:yuminstall*.rpm或rpm-ivh*rpm 如果使用yuminstall*.rpm安装不了,在使用rpm-ivh*rpm提示已有旧的版本可以使用  rpm-Uvh*.rpm可以替换安装,根据不通的系统有可能安装后会重启不成功, 所以需要使用:sudosystemctls......
  • DNS解析
    dns的定义解析库dns解析的端口dns解析流程curl命令内网dns解析dns正向解析配置先在服务端安装bind9软件apt-yinstallbind9cd/etc/bind先修改bind的主配置文件(注意标点符号!)修改named.conf.optionsroot@neuro:/etc/bind#vimnamed.conf.options在第......
  • 终端ssh终端模拟软件:Termius激活安装包
    Termius是一款功能强大的跨平台终端管理工具,提供了友好的用户界面,支持SSH、Telnet、SFTP等多种连接协议,方便用户远程连接和管理服务器。此外,Termius还支持多平台同步、文件传输、批量操作、脚本自动化等进阶功能,且具备强大的数据加密和安全性保障。无论是开发人员、系统管理员还......
  • Linux连接SFTP报ssh_exchange_identification: read: Connection reset by peer
    连接SFTP报ssh_exchange_identification:read:Connectionresetbypeer“Connectionresetbypeer”是一个常见的网络错误消息,通常出现在使用TCP协议进行网络通信时。这个错误表明在尝试读写数据时,远程主机(peer)强制关闭了连接。以下是一些可能导致此错误的原因及解决......
  • DNS在架构中的使用
    DNS在架构中的使用 1介绍DNS(DomainNameSystem,域名系统)是一种服务,它是域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。简单来说,DNS就是一个将我们输入的网址(比如www.baidu.com)转换成对应的IP地址(比如192......
  • SSH协议详解及实例分析
    一、SSH的定义SSH——secureshell;SSH为计算机网络协议,用于计算机之间的加密通信,通过加密和认证机制实现安全的访问、远程登录和文件传输等业务;SSH协议的默认端口号为22;SSH协议通过对网络数据进行加密和验证,建立SSH客户端和SSH服务器之间的安全隧道,在不安全的网络环境中为网......
  • POP3、SMTP、FTP、HTTP、BGP、DNS、DHCP、RIP、Ping、Traceroute
    POP3全称:PostOfficeProtocol3,即邮局协议第3版。作用:主要用于电子邮件系统中从邮件服务器检索电子邮件至本地客户端应用程序。它是互联网中最传统的邮件接收协议之一。工作方式:允许用户通过客户端软件(如Outlook、Thunderbird等)连接到邮件服务器并下载其邮箱中的新邮件......
  • 全面指南:OpenSSH和日志管理策略,轻松提升安全与运维效率
    目录日志管理配置rsyslog服务器opensshSecureShell示例SSH主机密钥配置基于SSH密钥的身份验证 [root@lnh~]#cat/etc/redhat-releaseCentOSStreamrelease8//查看当前系统版本[root@lnh~]#uname-r4.18.0-257.el8.x86_64//查看当前系统......
  • javaweb基于SSH开发大学生在线选课系统源码+PPT 大作业 课程设计
    ......
  • centos6升级openssh
    环境:OS:Centos6.51.查看当前的版本[root@localhostsoft]#ssh-VOpenSSH_5.3p1,OpenSSL1.0.1e-fips11Feb2013[root@localhostsoft]#  2.下载rpm安装包我们这里计划升级到9.8[root@localhostsoft]#cd/soft[root@localhostsoft]#wgethttp://down.tag.gg/Openssh/......