SSH 的 DNS 记录 (docker)

Max*_*bel 0 domain-name-system ssh docker

我有一个绑定端口 2222:22 的 docker 容器。可以使用连接ssh -T sub.example.com -p 2222

我正在寻找一种无需指定端口号即可访问 ssh 容器的方法。我认为这可以通过 DNS 记录来完成。

SRV _ssh._tcp.sub 5 10022 sub.example.com在提供商的管理界面中为我的域设置了 DNS 记录,这不起作用。

有没有办法做到这一点?

HBr*_*ijn 6

您还需要实际使用 SRV 记录的客户端,据我所知,没有一个(常见的)SSH 客户端会...

很少有常见的应用程序/协议真正支持 SRV 记录。


相反:编辑您的 ssh 客户端配置文件~/.ssh/config为该主机创建一个条目,您至少不再需要在每次需要连接时在命令行上明确指定端口号:

#~/.ssh/conf
Host sub.example.com
    HostName sub.example.com
    Port 2222
    ...
Run Code Online (Sandbox Code Playgroud)

进而 ssh sub.example.com


Tom*_*mek 5

我将wrapsrv与 一起使用ProxyCommandsocat使用SRV记录来确定连接端点:

Host *.my.domain
        ProxyCommand    wrapsrv _ssh._tcp.%h socat STDIO TCP:%%h:%%p
Run Code Online (Sandbox Code Playgroud)

优点是两者scpsftp应该从 ssh 配置文件中使用它。

请注意,SRV记录需要三个整数:优先级、权重和端口,而不是您在问题中显示的两个整数。