【问题标题】:OpenSSH - Is it ssh-agent forwarding?OpenSSH - 是 ssh-agent 转发吗?
【发布时间】:2017-07-13 19:30:57
【问题描述】:

我正在尝试调试 CPU 变高的 OpenSSH 问题。但在此之前,我想确认此连接是否使用了 SSH-Agent 转发功能。以下是分配了两个通道的子 SSH 服务器的核心转储。 频道[1] 似乎正在与 ssh-agent 通话。

我需要以下帮助:

1) 据我所知 ssh-agent 与 SSH 客户端对话,但是这里似乎 正在与 SSH 服务器通话。我们可以说我们有 ssh-agent 转发吗 在角色中?

2) 我可以做些什么来重现这种情况?

3) 您可能想告诉我的任何其他信息 给出的数据。

(gdb) p *channels[0]
      type = 0x4,
      self = 0x0,
      remote_id = 0x0,
      istate = 0x0,
      ostate = 0x3,
      flags = 0x0,
      rfd = 0xd,
      wfd = 0xffffffff,
      efd = 0xffffffff,
      sock = 0xffffffff,
      ctl_chan = 0xffffffff,
      isatty = 0x1,
      client_tty = 0x0,
      path = 0x0,
      listening_port = 0x0,
      listening_addr = 0x0,
      host_port = 0x0,
      remote_name = 0xb0f2e4a0 "server-session",
      ctype = 0x187df64 "session",
      open_confirm = 0,
      open_confirm_ctx = 0x0,
      detach_user = 0x1855650 <session_close_by_channel>,
      detach_close = 0x1,
    =============================
(gdb) p *channels[1]
      type = 0x6,
      self = 0x1,
      remote_id = 0xffffffff,
      istate = 0x0,
      ostate = 0x0,
      flags = 0x0,
      rfd = 0x9,
      wfd = 0x9,
      efd = 0xffffffff,
      sock = 0x9,
      ctl_chan = 0xffffffff,
      path = 0xb0f2e7a0 "/tmp/ssh-00015945aa/agent.15945",
      listening_port = 0x0,
      listening_addr = 0x0,
      host_port = 0x0,
      remote_name = 0xb0f2e720 "auth socket",
      ctype = 0x187d92c "auth socket"

【问题讨论】:

    标签: ssh ssh-keys openssh ssh-tunnel


    【解决方案1】:

    1) 据我所知,ssh-agent 与 SSH 客户端对话,但在这里它似乎与 SSH 服务器对话。我们可以说我们在角色中有 ssh-agent 转发吗?

    这是另一种方式。客户与代理交谈。如果您将套接字转发到服务器,则该服务器上的其他客户端可以与您计算机上的代理通信。

    就是这样。服务器的唯一作用是转发认证套接字。

    2) 我可以做些什么来重现这种情况?

    启动ssh-agent 并使用ssh -A server 启动与代理转发的连接。

    3) 您可能想从给定的数据中告诉我任何其他信息。

    (gdb) p *channels[0]
      type = 0x4, /* SSH_CHANNEL_OPEN -- shell or command */
    
    (gdb) p *channels[1]
      type = 0x6, /* SSH_CHANNEL_AUTH_SOCKET -- ssh-agent forwarding */
    

    是的,就是代理转发。

    【讨论】:

    • 谢谢。请您详细说明您对 1) 的回复,说明其他客户端如何使用我的 ssh-agent 使用此功能。如果可能的话,请解释一下这个套接字转发是如何工作的。
    • 其他客户端正在通过环境变量SSH_AUTH_SOCK 中的套接字使用ssh-agent。转发按您天真地期望的那样工作。两端都有套接字,一侧写入第一个,而另一侧可以从第二个读取数据。
    猜你喜欢
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 2019-07-06
    • 2021-11-11
    • 2012-02-02
    • 1970-01-01
    • 2023-01-13
    相关资源
    最近更新 更多