You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在~/.ssh/config文件中转义含#的用户名?

SSH Config中#字符的转义方法

在macOS Monterey系统的~/.ssh/config中,若配置如下:

Host foo
  HostName cyberark.company.com
  User user@user#company.com@target_vm

执行ssh foo时,User值里#company.com@target_vm部分会被自动截断,但直接执行ssh user@user#company.com@target_vm@cyberark.company.com却能正常工作——这是因为SSH配置文件默认会把#当作注释起始符,截断后续内容。

解决这个问题有两种简单方法:

  • 用双引号包裹User字段的值:
    修改配置为:

    Host foo
      HostName cyberark.company.com
      User "user@user#company.com@target_vm"
    

    双引号会将整个字符串标记为单一值,#会被当作普通字符处理,不会触发注释解析。

  • 用反斜杠转义#字符:
    修改配置为:

    Host foo
      HostName cyberark.company.com
      User user@user\#company.com@target_vm
    

    反斜杠会取消#的注释特殊含义,让它作为普通字符被识别。

修改完成后,执行ssh foo即可正常连接,不会再出现内容截断的问题。

内容的提问来源于stack exchange,提问作者shiraz73

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 23:50:44