广告
返回顶部
首页 > 资讯 > 操作系统 >SSH登录Linux服务器慢或者登陆错误的解决方法
  • 349
分享到

SSH登录Linux服务器慢或者登陆错误的解决方法

2023-06-12 23:06:58 349人浏览 薄情痞子
摘要

这篇文章主要介绍“ssh登录linux服务器慢或者登陆错误的解决方法”,在日常操作中,相信很多人在SSH登录Linux服务器慢或者登陆错误的解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SSH登录Li

这篇文章主要介绍“ssh登录linux服务器慢或者登陆错误的解决方法”,在日常操作中,相信很多人在SSH登录Linux服务器慢或者登陆错误的解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SSH登录Linux服务器慢或者登陆错误的解决方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

每次使用SSH登录到远程的Linux进行管理的时候,远程登录的过程都非常慢——输入完用户名之后,非要等到30秒左右才会出来输入密码的提示。在实际处理问题的时候,特别需要快速响应的时候,这种状况着实让人难以忍受。

但后来具体测试了一下,发现这又并非是每种系统的通病,出现问题的机器主要集中的Centos上,同样的Debian系统,在远程连接的过程就是健步如飞,丝毫没有卡顿犹豫的感觉。这难道是CentOS的问题?

出于好奇,查看了下两个系统在SSH时的差别
CentOS:

代码如下:

ssh -v ssh_test@192.168.128.137

SSH远程登录的时候显示的信息如下:

OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1e 11 Feb 2013
...Some sensitive infORMation...
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-4
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hMac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
...Some sensitive information...
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,passWord
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric host address
 
debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric host address
 
debug1: Unspecified GSS failure.  Minor code may provide more information
 
 
debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric host address
 
debug1: Next authentication method: publickey
debug1: Trying private key: /home/mitchellchu/.ssh/id_rsa
debug1: Trying private key: /home/mitchellchu/.ssh/id_dsa
debug1: Trying private key: /home/mitchellchu/.ssh/id_ecdsa
debug1: Next authentication method: password
而Debian使用同样的命令测试的结果为:

OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1e 11 Feb 2013
...Some sensitive information...
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-4
debug1: match: OpenSSH_6.0p1 Debian-4 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-4
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
...Some sensitive information...
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/mitchellchu/.ssh/id_rsa
debug1: Trying private key: /home/mitchellchu/.ssh/id_dsa
debug1: Trying private key: /home/mitchellchu/.ssh/id_ecdsa
debug1: Next authentication method: password
从上面可以看到,在CentOS中,系统使用了publickey,gssapi-keyex,gssapi-with-mic,和password来进行认证(上面颜色标记行,23行),而Debian此时则使用了Publickey和password两种。在连接CentOS的时候,在23行处花费了相当多的时间。我们在那里开始往下看,就能非常清楚的看到下面的信息:

#下面使用的是GSSAPI-KEYEX来进行验证
debug1: Next authentication method: gssapi-keyex
#但是报错:没有可用的Key来交换信息
debug1: No valid Key exchange context
#系统接着又使用下一个验证方法:GSSAPI-WITH-MIC
debug1: Next authentication method: gssapi-with-mic
#但遗憾的是,GSSAPI-WITH-MIC方法也失败。
#原因:不能确定数字主机地址的域
debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric host address
 
debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric host address
 
debug1: Unspecified GSS failure.  Minor code may provide more information
 
 
debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric host address
# 在尝试几次后,SSH认证终于放弃了这种验证。进入下一个验证:Publickey
debug1: Next authentication method: publickey
除了这个方法还有其他方法么?这个自然是有的,CentOS其实就已经提供给我们一个解决方案了&mdash;&mdash;使用ssh远程登录的时候禁用GSSAPI验证。当然,还有一个问题不得不注意,如果你的机器上启用了UseDNS的话,需要一并关闭,具体可参见最后的说明。

从错误可以看出应该是和主机域相关的问题&mdash;&mdash;应该是无法确认IP对应的域,因此会出现这个问题。GSSAPI主要是基于Kerberos的,因此要解决这个问题也就变得要系统配置有Kerberos,这对于没有Kerberos的筒子们来说,配置个Kerberos就为了解决个登录延时问题,似乎不是个明智的决定&mdash;&mdash;特别是在生产环境中!最小化满足需求才是王道。

下面先放出处理GSSAPI的方法
禁用GSSAPI认证有两个方式:客户端和服务端

1. 客户端禁用
比较简单,影响的只有单个客户端用户,可以用下面的方法实现:

代码如下:


ssh -o GSSAPIAuthentication=no your-server-username@serverIP


用上面的方法登录远程,即可实现禁用GSSAPIAuthentication。

如果你嫌麻烦,直接配置你ssh客户端的文件/etc/ssh/ssh_config来达到永久解决这个问题:

代码如下:


vi /etc/ssh/ssh_config
### 找到ssh_config文件里面的GSSAPIAuthentication yes这行
### 修改为GSSAPIAuthentication no
### 保存ssh_config文件并退出


这个修改方法是将所有这个机器上的用户都影响到了,如果你影响面不要那么的广泛,只要在指定的用户上实施禁用GSSAPIAuthentication的话,那么你可以在该用户的目录下,找到.ssh目录,在其下面添加config文件,并在文件内添加上面这句,如果没有这个文件,你也可以直接这么做:

代码如下:


cat >>~/.ssh/config<<EOF
GSSAPIAuthentication no
EOF


使用cat,直接将输入导出到文件中,这时候,你在使用ssh连接远程的目标主机时,就不会再使用GSSAPI认证了。

上面这些文件是在客户端,不是服务端的。也就是说,要修改这个文件,你的客户端也要是Linux才行。

如果你是在windows下使用PuTTY这样的客户端工具,就不使用上面这个方法了,PuTTY下可以尝试在连接之前进行设置:

代码如下:


PuTTY Configuration -> Connection -> SSH -> Auth -> GSSAPI -> (取消勾选)Attempt GSSAPI authentication(SSH-2 only)

如果没有关闭PuTTY的GSSAPIAuthentication,你可以在连接的窗口右键(或:Ctrl + 右键)查看日志,可以发现PuTTY会自动尝试GSSAPI连接的日志:

2014-05-18 23:46:54 Using SSPI from SECUR32.DLL
2014-05-18 23:46:54 Attempting GSSAPI authentication
2014-05-18 23:46:54 GSSAPI authentication request refused
恩,上面基本上将客户端禁止GSSAPIAuthentication的方法罗列了一下。

注意:上面这些方法是比较通用的。

2、如果你已经配置了Kerberos的情况下
那么你也可以尝试下如下的客户端解决这个问题的方法:

添加远程主机的主机名到你本机的host文件中(Linux是/etc/hosts,Windows是系统盘:\Windows\System32\drivers\etc\hosts)。Linux和Windows下都可以添加下面这行。

代码如下:


### 注意:下面这样的IP-Addr要替换成你的远程机器的IP地址,HostName,自然是主机名
IP-Addr HostName


添加完毕之后,保存退出。

如果你没有配置Kerberos的话,仅配置这个hosts文件一样是不能解决问题的,在使用ssh登录的时候,你可以看到报错日志会类似下面这样:

debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mi
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_0' not found
 
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_0' not found
 
debug1: Unspecified GSS failure.  Minor code may provide more information
 
 
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_0' not found
 
debug1: Next authentication method: publickey
这个错误我在刚开始的时候也犯了的,需要注意。

3、服务端禁用GSSAPIAuthentication。
直接到/etc/ssh/sshd_config里面,将GSSAPIAuthentication yes改为no即可了,同时也请注意,你可能也需要将UseDNS这个也修改成UseDNS no(这个要注意,每个系统的默认值不同,此处以CentOS 6为例):

代码如下:


sudo vi /etc/ssh/sshd_config
### 普通用户权限不够,需要root权限
### 找到GSSAPIAuthentication yes,修改为
### GSSAPIAuthentication no
### 注意,这里你也需要将UseDNS修改为no,CentOS默认是yes,即使这行已被注释,你也需要加上
### UseDNS no
### 有看到人说UseDNS yes不需要修改为UseDNS no,Mitchell测试下来是需要的。
### 保存文件,退出


当禁用之后,我们需要重启SSH服务来保证新的配置文件被正确应用:

代码如下:


service sshd restart


这个时候,再次使用SSH登录这个主机时,是不是感觉飞快了?

呼~ 终于完成了这篇长文,要一边捣腾一边弄出这些个文字,还是真是有点困难。不过,这样也就将问题捣腾的差不多了,希望看文章的你能够看的明白,欢迎讨论。 

说明:
1. GSSAPI:Generic Security Services Application Program Interface,GSSAPI本身是一套API,由IETF标准化。其最主要也是著名的实现是基于Kerberos的。一般说到GSSAPI都暗指Kerberos实现。

UseDNS:是OpenSSH服务器上的一个DNS查找选项,而且默认还是打开的,在打开的状态下,每当客户端尝试连接OpenSSH服务器的时候,服务端就自动根据用户客户端的IP进行DNS PTR反向查询(IP反向解析才会有记录),查询出IP对应的Hostname,之后在根据客户端的Hostname进行DNS正向A记录查询。通过这个查询,验证IP是否和连接的客户端IP一致。但绝大部分我们的机器是动态获取IP的,也就是说,这个选项对于这种情况根本就没用&mdash;&mdash;即使是普通静态IP服务器,只要没有做IP反向解析,也难以适用。如果你符合这些情况,建议关闭UseDNS以提高SSH远程登录时候的认证速度。

ssh证书登录错误
错误描述
使用证书ssh链接的时候提示下面错误信息

Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 可能原因
authorizedkeys 或.ssh的权限太open .ssh 目录改成755 权限 authorizedkeys 改成600
解决
查看日志: cat /var/log/secure 发现 Aug 8 17:15:13 CentOS62 sshd[5624]: Authentication refused: bad ownership or modes for file /home/abc/.ssh/authorized_keys 查看.ssh权限为775 .ssh 手动创建的时候是775权限,改成755权限后正常 # chmod 755 ~/.ssh

到此,关于“SSH登录Linux服务器慢或者登陆错误的解决方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: SSH登录Linux服务器慢或者登陆错误的解决方法

本文链接: https://www.lsjlt.com/news/263460.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SSH登录Linux服务器慢或者登陆错误的解决方法
    这篇文章主要介绍“SSH登录Linux服务器慢或者登陆错误的解决方法”,在日常操作中,相信很多人在SSH登录Linux服务器慢或者登陆错误的解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SSH登录Li...
    99+
    2023-06-12
  • 阿里云登陆Linux服务器错误的解决方法
    如果您正在使用阿里云的服务器,但是遇到无法登陆的问题,不要担心,本文将为您提供解决方法。阿里云作为全球领先的云计算服务商,以其稳定可靠的服务深受用户的喜爱。但是,有时候我们在使用过程中可能会遇到一些问题,比如无法登陆服务器。这个问题可能会让...
    99+
    2023-11-18
    阿里 解决方法 错误
  • 阿里云服务器登陆IP地址错误解决方法
    阿里云服务器是阿里集团提供的一种高性能、高可靠性的云服务器产品。在使用过程中,可能会遇到各种问题,其中IP地址错误就是其中一种常见的问题。本文将详细介绍如何解决阿里云服务器登陆IP地址错误的问题。 一、问题分析阿里云服务器登陆IP地址错误,...
    99+
    2023-11-08
    阿里 解决方法 错误
  • phpmyadmin 1045错误无法登录MySQL服务器的解决方法
    这篇文章主要介绍了phpmyadmin 1045错误无法登录MySQL服务器的解决方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。phpmya...
    99+
    2022-10-18
  • phpmyadmin #1045错误无法登录mysql服务器的解决方法
    这篇文章将为大家详细讲解有关phpmyadmin #1045错误无法登录mysql服务器的解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。phpmyadmin #1...
    99+
    2022-10-18
  • Linux服务器无法登陆问题的解决方法
    单用户模式(俗称 拯救世界模式) 在开机的时候长按 shift进入grub菜单或者在开机选择画面的时候选择ubuntu高级模式,之后按 e 进入 编辑模式将 ro recovery nomodeset 改为...
    99+
    2022-06-04
    解决方法 服务器 Linux
  • 日本亚马逊登录服务器错误解决方法
    1. 检查网络连接 首先,确保您的设备已连接到互联网,并且网络连接稳定。您可以尝试打开其他网页或应用程序来确认网络连接是否正常。如果网络连接存在问题,您可以尝试重新连接或联系您的网络服务提供商解决问题。 2. 清除浏览器缓存和Cookie...
    99+
    2023-10-27
    亚马逊 日本 解决方法
  • 亚马逊国内登录服务器错误解决方法
    1. 检查网络连接 首先,确保您的网络连接正常。尝试访问其他网站,确认您的网络连接没有问题。如果其他网站可以正常访问,那么问题可能出在亚马逊服务器端。 2. 清除浏览器缓存和Cookie 有时候,浏览器缓存和Cookie可能会导致登录问题...
    99+
    2023-10-27
    亚马逊 解决方法 错误
  • 阿里云服务器登陆函数错误的解决办法
    阿里云服务器是阿里巴巴推出的一款云计算服务,可以为用户提供稳定、安全、高效的服务器环境。然而,在使用过程中,难免会出现一些问题,其中登录函数错误就是一个常见的问题。本文将详细介绍阿里云服务器登陆函数错误的解决办法,希望能帮助读者解决问题。 ...
    99+
    2023-11-01
    阿里 解决办法 函数
  • 亚马逊注册登录云服务器错误解决方法
    1. 检查网络连接 首先,确保您的网络连接正常。检查您的网络连接是否稳定,并确保您的设备可以正常访问互联网。如果您的网络连接存在问题,可能会导致无法登录亚马逊云服务器。 2. 检查登录凭证 确保您输入的登录凭证(用户名和密码)是正确的。请...
    99+
    2023-10-27
    亚马逊 解决方法 错误
  • 设置ssh无密码登录linux服务器的方法
    每次登录测试服务器,ssh登录总是需要输入密码。登录的少还行,登录的多了,多一行命令都是多余的。 rsa认证登录方式 制作密钥对 在客户端(本地机器)终端下输入以下命令 ssh-keygen -t [rsa|dsa...
    99+
    2022-06-04
    ssh无密码登录linux
  • mysql1130错误,无法登录远程服务的解决
    目录问题一、开启远程登录权限二、刷新MySQL权限三、测试总结问题 mysql:1130 is not allowed to connect to this MariaDB serv...
    99+
    2023-03-08
    mysql 1130错误 无法登录远程服务 mysql登录远程服务
  • 阿里云服务器ssh登录密码错误原因分析与解决方案
    本文将探讨阿里云服务器ssh登录密码错误的问题,分析其可能的原因,并提供相应的解决方案。 在使用阿里云服务器的过程中,有时可能会遇到ssh登录密码错误的问题。这个问题可能会导致无法正常连接到服务器,从而影响到服务器的使用。那么,到底是什么原...
    99+
    2023-11-17
    阿里 解决方案 错误
  • 阿里云服务器登录慢的原因及解决方法
    阿里云服务器是阿里巴巴集团提供的一种高性能、可扩展的云计算服务。然而,有时用户可能会遇到阿里云服务器登录慢的问题,这可能会影响用户的使用体验。本文将详细说明阿里云服务器登录慢的原因,并提供一些解决方法。 原因一:网络连接问题阿里云服务器的登...
    99+
    2023-10-29
    阿里 解决方法 原因
  • 解决手机登录阿里云邮箱服务器错误的方法
    当我们在使用手机登录阿里云邮箱服务器时,可能会遇到各种问题,如登录错误、无法接收邮件等。本文将详细解释并提供解决这些常见问题的方法。 一、无法接收邮件检查邮箱设置:首先,请检查您的邮箱设置。确保您已经设置了正确的邮箱地址、用户名和密码,并且...
    99+
    2023-11-20
    阿里 邮箱 错误
  • mysql 1130错误,无法登录远程服务的解决
    目录问题一、开启远程登录权限二、刷新mysql权限三、测试总结问题 mysql:1130 is not allowed to connect to this mariadb server(没有远程登录权限,注:这里的Ma...
    99+
    2023-03-08
    mysql1130错误 无法登录远程服务 mysql登录远程服务
  • 阿里云服务器登录命令错误解决方案
    本文将详细解释阿里云服务器登录命令错误的原因和解决方案,帮助读者解决阿里云服务器登录过程中遇到的问题。 在阿里云服务器的使用过程中,我们可能会遇到一些常见的问题,比如登录命令错误。登录命令错误可能是由于网络问题、服务器配置问题、操作系统问题...
    99+
    2023-11-11
    阿里 命令 解决方案
  • 腾讯云服务器登陆记录查询问题解决方法
    1. 检查登录记录查询方式是否正确 首先,我们需要确保使用正确的方法来查询腾讯云服务器的登录记录。腾讯云提供了多种方式来查询服务器登录记录,包括控制台、API接口和命令行工具等。请确认您使用的是正确的方法。 2. 检查权限设置 如果您无法...
    99+
    2023-10-27
    腾讯 解决方法 服务器
  • 苹果手机登录腾讯云服务器错误怎么解决方法
    首先,让我们了解一下腾讯云服务器的基本知识。腾讯云服务器是一种云服务,可以通过互联网访问云服务器上的应用程序和数据。用户可以通过手机、电脑、平板等设备来访问云服务器上的应用程序和数据。腾讯云服务器提供了多种类型的服务器,包括服务器、数据库、...
    99+
    2023-10-28
    腾讯 解决方法 错误
  • 亚马逊服务器登陆不上的解决方法
    1. 检查网络连接 首先,确保你的设备已经连接到互联网。检查你的网络连接是否正常,可以尝试访问其他网站或使用其他应用程序来确认网络连接是否正常工作。 2. 检查服务器状态 亚马逊服务器可能会出现故障或维护,导致无法登录。你可以通过访问亚马...
    99+
    2023-10-27
    亚马逊 不上 解决方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作