SSH 连接慢 与 反向解析

DBA 3群里的Jin 说他用ssh连接的时候,很慢。 一个朋友让他把方向解析禁用了。 我之前也遇到过SSH 慢的现象, 敲一条命令要等很长时间, 不过那时我ping 时丢包很严重。 所以,我的现象应该是和丢包有关系的。

在连接apachesshmysql等服务器时,如果出现连接过慢,可能的原因是dns 的反向查询。

反向解析是防止假冒的IP连接服务器,把IP解析成域名,来提高安装性,看这个IP是否是伪造,这是dns反向查询的功能之一。

如果在开启apache,ssh,mysql 等服务器的反向解析功能之后,连接过慢的话。有二种解决方法:

1. 把服务的DNS反向解析功能关掉。

2. 就要架建自己的DNS解析或更改hosts文件。

. 关闭ssh 的反向解析

关闭dns反向解析后,就不能阻止伪造IP登陆。

步骤如下:

1)取消sshd服务的dns反向解析

#vi /etc/ssh/sshd_config

2)找到选项UseDNS ,取消注释,改为

UseDNS no

3)重启sshd服务

/etc/init.d/sshd restart

. 架构DNS服务器,把服务器的域名添加进来

构建自己的DNS服务器。 因为记录需要dns解析,程序需要PTR反向解析,即IPdomain name的映射关系,已验证这个IP是否是合法的IP

两种方法:

1) 把常用的IP地址写入hosts文件,然后在/etc/nsswitch.conf看看程序是否先查询hosts文件(一般缺省是这样)。

2)起一台dns服务器(可以是本机),加入反向解析,把这个dns服务器加入到/etc/resolv.conf中。

关于DNS的配置,参考我的Blog

Linux DNS Server 配置 -- for Oracle 11gR2 RAC SCAN IP

http://blog.youkuaiyun.com/tianlesoftware/archive/2010/11/13/6006247.aspx

没有遇到过这种情况,所以没有测试,不过还是小整理一下,以防万一。

整理自网络

------------------------------------------------------------------------------

Blog http://blog.youkuaiyun.com/tianlesoftware

网上资源: http://tianlesoftware.download.youkuaiyun.com

相关视频:http://blog.youkuaiyun.com/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(); DBA2 群:62697977()

DBA3 群:62697850 DBA 超级群:63306533;

聊天 群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

### VSCode SSH 连接无法解析主机名的解决方案 当使用 Visual Studio Code (VSCode) 的 Remote - SSH 扩展尝试连接到远程服务器时,如果出现 **无法解析主机名** 的问题,通常是因为 DNS 配置不正确或者本地 `~/.ssh/config` 文件中的设置存在问题。 以下是针对此问题的具体分析和解决办法: #### 1. 检查主机名拼写是否正确 确认在 `~/.ssh/config` 或者其他地方指定的目标主机名称是否完全匹配实际目标机器的域名或 IP 地址。如果使用的是自定义别名,则需要确保其映射关系已正确定义[^1]。 #### 2. 修改 `/etc/resolv.conf` 中的 DNS 设置 有时本地系统的 DNS 配置可能导致某些特定域的名字解析失败。可以编辑本机上的 `/etc/resolv.conf` 文件来添加可靠的公共 DNS 服务器地址,比如 Google 提供的服务: ```bash nameserver 8.8.8.8 nameserver 8.8.4.4 ``` #### 3. 调整 ~/.ssh/config 文件配置 对于每台要访问的设备,在用户的家目录下的 `.ssh/config` 文件里增加相应的条目是非常重要的一步操作。下面是一个标准样例展示如何设定 Host 字段以及对应的 User 和 IdentityFile 参数等内容[^4]: ```plaintext Host myserver HostName example.com User your_username Port 22 IdentityFile ~/.ssh/id_rsa ``` 注意这里的 `HostName` 应填写完整的 FQDN(Fully Qualified Domain Name)形式而非简单的短名字;另外也可以直接填入 IPv4/IPv6 数字表示法代替之。 #### 4. 关闭 UseDNS 功能于远端服务器侧 为了提高效率并减少潜在冲突,可以在目标 Linux 主机上调整 SSHD 守护进程的行为模式——即禁用反向查找功能。具体做法是在 `/etc/ssh/sshd_config` 文档中找到下列两行并将它们设为 “no”,之后重启 sshd 服务即可生效[^2]: ```plaintext UseDNS no GSSAPIAuthentication no ``` #### 5. 清理 known_hosts 记录以防干扰 由于多操作系统共存环境容易引发公钥验证方面的矛盾状况,因此建议定期清理掉那些不再适用的老记录项。执行命令如下所示可实现这一目的[^3]: ```bash ssh-keygen -R [hostname] ``` 以上措施综合运用能够有效应对大多数情况下由主机命名解析所引起的连接障碍现象。 ```python import os def check_ssh_connection(host, port=22): response = os.system(f"ping -c 1 {host}") if response == 0: print(f"{host} is up!") else: print(f"{host} is down!") check_ssh_connection('example.com') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值