看着用 windows 的 scp 命令很快很是羡慕. 这个问题让我实实郁闷了好几天. 在 Linux 下不管是用 ssh 还是用 scp, 连接速度都很慢 (登陆提示框的弹出时间).
确切地讲, 每次的登陆连接平均消耗了 30 秒! 
言归正传. 如何找出究竟是什么导致了 ssh 或是 scp 的登陆很慢? 如何修复该所谓的登陆 "慢" 或 "延迟"?
今天 Google 了一下, 很快就有了解决方案. :-) 
你也 google 了吧? :-)

什么导致了 scp 和 ssh 的登陆提示速度下降

就我自身所遇到的情况来看, 这些延迟绝大部分是 GSSAPI 的认证功能导致的!
你可以用 -v  选项确认你的情况. 例如, 下面是 ssh 的详细登陆过程:
cherry@cherry:~$ ssh -v cherry@59.151.47.49
...
...
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
No credentials cache found debug1: Unspecified GSS failure.  Minor code may provide more information
No credentials cache found debug1: Unspecified GSS failure.  Minor code may provide more information debug1: Next authentication method: publickey
debug1: Trying private key: /home/cherry/.ssh/identity
debug1: Trying private key: /home/cherry/.ssh/id_rsa
debug1: Trying private key: /home/cherry/.ssh/id_dsa
debug1: Next authentication method: password
cherry@59.151.47.49's password:

解决方案

就我所遇到的情况来看, 显然是要把 GSSAPI 禁用. 以下是三种可行的方式:
[] 该解决方案是在客户端 OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 下测试并通过的.
1. 连接时用命令指定:
ssh -o GSSAPIAuthentication=no cherry@59.151.47.49
2. 在 ssh 客户端程序的配置文件里显式禁用 GSSAPI 认证. 如, 编辑 /etc/ssh/ssh_config 文件, 添加或修改使其有如下一行:
GSSAPIAuthentication no
3. 在用户根目录下的 .ssh 目录下创建一个 config 文件. 如, 编辑 /home/cherry/.ssh/config (如果该文件不存在, 则创建之), 添加选项:
GSSAPIAuthentication no
[] A. /etc/ssh/ssh_config 是全局配置文件, 对其进行的修改会影响所有使用 ssh 客户端的系统用户.
        B. /home/cherry/.ssh/config 是只会影响用户 xcl 的本地 ssh 客户端配置文件. 该文件的所有配置参数会覆盖全局配置文件的相同配置参数.
在禁用 GSSAPI 后, ssh 的登陆提示 "回归" 正常了:
cherry@cherry:~$ ssh -v cherry@59.151.47.49
...
...
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/cherry/.ssh/identity
debug1: Trying private key: /home/cherry/.ssh/id_rsa
debug1: Trying private key: /home/cherry/.ssh/id_dsa
debug1: Next authentication method: password
cherry@59.151.47.49's password:
可见, 该过程已经不再使用 GSSAPI 了. 速度也大大提高了.

解决方案: scp/ssh 的登陆提示很慢 (Linux)的更多相关文章

  1. linux下ssh/scp无密钥登陆方法

    一.双方机器都是root用户登陆方法 A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A ...

  2. 很好用的取代 PuTTY 的SSH远程登陆软件 Termius

    一直以来, 我都是用 PuTTY 一个窗口一个窗口来监视我所有的远程服务器. putty-connections-on-a-screen 总感觉非常的不方便, 特别是当远程链接断开需要再重新打开PUT ...

  3. 烂泥:学习ssh之ssh无密码登陆

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 最近一个月没有写过文章,主要是刚刚换的新工作.新公司服务器OS使用的是ubuntu server版,和以前熟悉的centos还是有很多不同的. 刚好这几天 ...

  4. SSH 远程登陆

    2019-03-10 20:41:39 一.什么是SSH 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登 ...

  5. 设置SSH自动登陆(免密码,用户名)

    设置SSH自动登陆(免密码,用户名)   1.创建公钥.公钥  ssh-keygen -t rsa  无视它出来的任何提示,欢快的一路回车到底吧.  2.把公钥 id_rsa.pub 复制到远程机器的 ...

  6. shell实现SSH自动登陆

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

  7. Linux基础 - scp免密码登陆进行远程文件同步

    在工作中经常有遇到需要脚本自动化同步文件的地方,比如数据库异地备份.假设有两台机子A(192.168.16.218)和B(192.168.16.117),需要能够让A免密码连接B. 先来看看正常的ss ...

  8. shell实现SSH自动登陆【转】

    前言 公司开发使用docker,每次登陆自己开发机总要输入 ssh user_name@ip_string,然后再确认输入password,手快了还经常会输错.作为一个懒人,肯定要找一个取巧的方式,查 ...

  9. git ssh免登陆,以及ssh config

    git去连接github或gitlab上的远程仓库,可以使用ssh方式,也可以使用git的账号密码登录 这里介绍使用ssh方式实现免登陆(第一步和第二步即可实现)   第一步:生成ssh秘钥 ssh- ...

随机推荐

  1. C# winform 代码生成

    http://www.cnblogs.com/luomingui/archive/2012/09/02/2667217.html 双鱼林: http://www.crsky.com/soft/4941 ...

  2. 关于QT安装的一些心得(QT551, VS2013)项目开发配置,以及项目结构分析

    推荐QT开发的配置如下: 我的硬件配饰中等,所以推荐一下配置: QT551版本,目前QT最新版8.0,为了稳定选择551版本 VS2013IDE, 因为VS2010与VS2013的编译器相同,但是VS ...

  3. 日期运算 jsf日期组建

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date; try { d ...

  4. C#中 ToString 和 override ToString 的区别

    public class p { public string ToString(){ return "p"; } } public class c:p{ public string ...

  5. PHP合成图片、生成文字、居中对齐、画线、矩形、三角形、多边形、图片抗锯齿、不失真 高性能源码示例

    function generateImg($source, $text1, $text2, $text3, $font = './msyhbd.ttf') { $date = '' . date ( ...

  6. 【译】UNIVERSAL IMAGE LOADER. PART 3---ImageLoader详解

    在之前的文章,我们重点讲了Android-Universal-Image-Loader的三个主要组件,现在我们终于可以开始使用它了. Android-Universal-Image-Loader有四个 ...

  7. Nginx学习笔记(一) Nginx架构

    Nginx架构 Nginx全程是什么? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. ...

  8. [OpenGL] 2、企业版VC6.0自带的Win32-OpenGL工程浅析

    一. 建立工程 O(∩_∩)O~上一节介绍了一种非常容易的OpenGL的搭建方法,这一节将就上一节介绍的VC6.0企业版自带的OpenGL Win32 Application建立一个模板工程,并分析这 ...

  9. jenkins插件 build timeout和build timestamp

    build timeout plugin, 允许对job设置timeout时间,当超时时,job将abort. build timestamp pluin,使得job log的每次输出前面都增加当时的 ...

  10. docker解决数据存储问题的方案

    现在docker在云计算领域发展的势头很猛,各个公司不论大小都开始研究这个开源工具和技术,围绕docker的开源项目和创业公司也多如牛毛,就是一个简单管理container的web ui都有很多开源项 ...