• ubuntu SSH登陆缓慢问题解决


    如果在Ubuntu 中 ssh 登录非常缓慢,输入用户名后要等好一阵先出现提示输入密码, 这是Ubuntu默认开启了 SSH 的 DNS反解析造成的原因,只要将此选项关闭, 重新启动sshd后反应非常快。vi /etc/ssh/sshd_config

    在最后添加下面一行,关闭 SSH 的 DNS 反解析:

    UseDNS no

    重启sshd

    #/etc/init.d/sshd restart
    systemctl restart sshd

    UseDNS选项打开状态下,当客户端试图登录OpenSSH服务器时,服务器端先根据客户端的IP地址进行DNS PTR反向查询,查询出客户端的host name,然后根据查询出的客户端host name进行DNS 正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种手段,但一般我们的IP是动态的,不会有PTR记录的,打开这个选项不过是在白白浪费时间而已。

    ※虽然配置文件中[UseDNS yes]被注释点,

    但默认开关就是yes...(SSH服务默认启用了DNS反向解析的功能)

    #############################################################

    上网查了相关的资料:↓

    在目标服务器上有一个文件/etc/nsswitch.conf ,里面有如下一行

    hosts: files dns

    这行的含义是对于访问的主机进行域名解析的顺序,是先访问file,也就是/etc/hosts文件,如果hosts中没有记录域名,则访问dns,进行域名解析,如果dns也无法访问,就会等待访问超时后返回,因此等待时间比较长。那如果将这一行屏蔽掉是不是也可以达到同样的效果呢?应该是可以的,但是如果本机要通过域名访问其他服务器,则肯定无法访问,因此这行应该需要保留。这个问题也提示我们,dns如果不可用,会带来的一些副作用的。

    相信很多朋友在使用Linux系统的时候因为安全性的原因摒弃了telnet rlogin 或者X-window,而把openssh作为自己默认的远程登录方式。然而经常会遇到的一个情况是telnet到server速度很快,但是ssh连接的时候却很慢,大概要等半分钟甚至更久。ping的速度也非常好,让人误以为是ssh连接不上。下面说下如何解决这样的问题,最为常见的原因是因为server的sshd会去DNS查找访问clientIP的hostname,如果DNS不可用或者没有相关记录,就会耗费大量时间。

    1, 在server上/etc/hosts文件中把你本机的ip和hostname加入

    2, 在server上/etc/ssh/sshd_config文件中修改或加入UseDNS=no(这个方法试过了,好用)

    3, 注释掉server上/etc/resolv.conf中所有行(关于这个方法:另一台服务器虽然没有按照方法2修改配置文件sshd_config,但是在这台服务器resolv.conf为空,也就是说这个方法也好用)

    4, 修改server上/etc/nsswitch.conf中hosts为hosts: files

    5, reboot server使配置生效

    博主QQ 343264992 QQ群交流:100411237 添加时候请备注博客园
  • 相关阅读:
    VS2010-MFC(对话框:模态对话框及其弹出过程)
    VS2010-MFC(对话框:设置对话框控件的Tab顺序)
    VS2010-MFC(对话框:为控件添加消息处理函数)
    VS2010-MFC(对话框:创建对话框类和添加控件变量)
    manacher算法模板
    [洛谷P1017] 进制转换
    [洛谷P1126] 机器人搬重物
    [洛谷P1032] 字串变换
    [POI2005]SAM-Toy Cars
    [洛谷P1528] 切蛋糕
  • 原文地址:https://www.cnblogs.com/chengkanghua/p/11001808.html
Copyright © 2020-2023  润新知