V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wangguoqin1001
V2EX  ›  问与答

大家来说说,为啥 SSH 比 SSL 慢呢

  •  
  •   wangguoqin1001 · 2018-07-20 23:17:55 +08:00 · 3380 次点击
    这是一个创建于 2077 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第一次发帖好激动好紧张

    最近在码论文,在考虑快速建立安全连接的方案。实际试下来 OpenSSH 从回车到出现服务端提示,无论是 publickey 还是 gssapi-with-mic 都需要好几秒钟时间,而使用 HTTPS 一般包括 HTML 传输也就一两秒钟时间。

    仔细看了一下 ssh 的 log,差不多也就是先交换和认证服务端证书,然后交换和认证客户端证书,本质上应该没啥区别,但交换客户端证书的时候好像多了几个数据包,大概两三个回合的样子,send packet: type 50 之后,无论是 publickey 还是 gssapi-with-mic 都是。不知道是不是因为这个原因导致的,但两者的安全需求应该是差不多的,也就是多一个分配 tty 之类的需求吧。
    25 条回复    2022-11-02 15:03:23 +08:00
    mawenjian
        1
    mawenjian  
       2018-07-20 23:27:28 +08:00
    你指的应该是 SSH 第一次登陆的时候,响应速度很慢吧?这个是因为需要等待 DNS 解析超时所致,改个服务器上边的参数就行了。两个协议之间即便真的有性能差异,也不太可能是秒级的。
    wangguoqin1001
        2
    wangguoqin1001  
    OP
       2018-07-20 23:29:17 +08:00
    @mawenjian 不是,每次登陆都不太可能在一两秒之内完成,比 HTTPS 还是有明显差异的
    james2013
        3
    james2013  
       2018-07-20 23:33:20 +08:00
    使用 SecureCRT 工具,SSH 连接腾讯云的服务器,秒开.
    wangguoqin1001
        4
    wangguoqin1001  
    OP
       2018-07-20 23:37:29 +08:00
    刚才试了下阿里云国内的服务器,貌似确实还是挺快的,之前试的都是国外的服务器
    好吧,那就不纠结 SSH 的速度问题了,反正论文也是想说 SSH 够快的
    mawenjian
        5
    mawenjian  
       2018-07-21 00:11:18 +08:00
    @wangguoqin1001 本来就不是 SSH 连接的问题导致的,SSH 表示这个锅不背
    caola
        6
    caola  
       2018-07-21 00:26:21 +08:00
    ECC 密钥交换会比 RSA 的快,同时建议 SSH 密钥也使用 ed25519 算法生成
    billlee
        7
    billlee  
       2018-07-21 01:18:37 +08:00
    你的 DNS 反查是不是没关?
    wangguoqin1001
        8
    wangguoqin1001  
    OP
       2018-07-21 01:23:36 +08:00
    @caola 我还是用的 8192 位的 RSA 呢😂
    wangguoqin1001
        9
    wangguoqin1001  
    OP
       2018-07-21 01:25:49 +08:00
    @billlee 貌似并没有卡在哪里,就是每次发包以后等个零点几秒,加起来就要五秒左右了。主要是想用 SSH 来提供通用的加密通道,不知道能不能算是最优化的方案
    lolizeppelin
        10
    lolizeppelin  
       2018-07-21 01:40:28 +08:00 via Android
    关闭 gss 那个配置
    wangguoqin1001
        11
    wangguoqin1001  
    OP
       2018-07-21 01:53:09 +08:00
    @lolizeppelin 然而我主要用的是 gssapi😁
    akira
        12
    akira  
       2018-07-21 02:51:58 +08:00
    如果只是用来做加密通道的话,那不就是 ssh 隧道了咯,而且通道创建好了以后,是会复用的,链接的耗时只是一次性的呀
    xwyam
        13
    xwyam  
       2018-07-21 06:45:34 +08:00 via Android
    @wangguoqin1001 UseDNS off 试试呢?
    rashawn
        14
    rashawn  
       2018-07-21 07:23:17 +08:00 via iPhone
    你把 ssh 端口换成 443 试试…
    wangguoqin1001
        16
    wangguoqin1001  
    OP
       2018-07-21 08:25:22 +08:00
    @akira 简单来说,作为课题的一个副产品,在有 Kerberos 情况下,服务器之间理论上可以不用建立加密通道,直接用 key 通信就好,我需要论证这部分的高效性,相比 SSL 通道。目前来说并没有完成这一部分,所以是需要通信的时候临时建立 SSH 隧道,建立连接的损耗还是需要考虑的
    Greenm
        17
    Greenm  
       2018-07-21 09:11:13 +08:00 via iPhone
    我感觉可能和长城有关
    rrfeng
        18
    rrfeng  
       2018-07-21 09:55:21 +08:00 via Android
    https 有很多加速连接的优化措施

    ssh 有很多保证安全或者方便使用的拖慢连接的策略...

    毕竟场景不同,你自己体会一下。
    rrfeng
        19
    rrfeng  
       2018-07-21 09:57:11 +08:00 via Android
    不过杠精应该这样回:ssh = ssl + xxx,所以比 ssl 慢,没毛病啊...
    bumz
        20
    bumz  
       2018-07-21 10:03:34 +08:00
    随机丢包对速度的影响体会下?
    xiaoshenke
        21
    xiaoshenke  
       2018-07-21 11:36:04 +08:00 via Android
    和你的网络条件有关吧…
    wangguoqin1001
        22
    wangguoqin1001  
    OP
       2018-07-21 12:27:47 +08:00 via iPhone
    @rrfeng 貌似网上的讨论结果是,SSH 的优化能力比 SSL 强很多
    wangguoqin1001
        23
    wangguoqin1001  
    OP
       2018-07-21 12:34:03 +08:00 via iPhone
    @rrfeng SSH 本可以是 SSL + Shell,但两者事实上是同一时间开发的,OpenSSH 和 OpenSSL 的第一版事实上是同一个月发布的,所以可以说是同时造了两次 @轮子哥。后来两者点了不同的科技树,但总的来说 OpenSSL 更 generalize,而 OpenSSH 更专注,所以安全性(木有滴血)和优化能力都更胜一筹。好吧我只是搬运工,为论文凑字数
    jqin4
        24
    jqin4  
       2018-07-22 14:43:12 +08:00 via iPhone
    mosh 了解一下
    tankcong
        25
    tankcong  
       2022-11-02 15:03:23 +08:00
    @wangguoqin1001 请问这句话怎么理解:
    >>> 在有 Kerberos 情况下,服务器之间理论上可以不用建立加密通道,直接用 key 通信就好

    直接用 Kerberos 的 session key 做后续的对称加密通信吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3353 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 13:39 · PVG 21:39 · LAX 06:39 · JFK 09:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.