我正在查看不同的示例来配置 ssh 配置以支持堡垒连接到我的云的内部服务器。
我遇到了几个在 ControlPath 配置上具有前缀“mux-”的(工作)示例 -
例如:
#ssh_config
#use with ssh -F ssh_config user@<TARGET_SERVER_IP>
Host *
ServerAliveInterval 60
TCPKeepAlive yes
ProxyCommand ssh -q -A gmasgras@<JUMP_SERVER_IP> nc %h %p
ControlMaster auto
ControlPath ~/.ssh/mux-%r@%h:%p
ControlPersist 8h
User ubuntu
StrictHostKeyChecking no
我找不到有关"mux-"
前缀和%r@%h:%p
后缀(%r=远程用户、%h=主机、%p=端口)的任何解释。该组合显然不是 ssh 文件夹中实际的 ssh 公钥。
在其他示例 ControlPath 变体中,人们还使用:
ControlPath ~/.ssh/ssh-mux-%r@%h:%p
或者
ControlPath /tmp/ssh-%r@%h:%p
或者
ControlPath ~/.ssh/cm-%r@%h:%p
甚至
ControlPath ~/.ssh/ansible-%r@%h:%p
您能解释一下前缀约定吗? ( "mux-"
, "ssh-mux-"
, "ansible-"
)
答案1
答案2
虽然名称是任意的,正如 @orberkov 提到的,但人们将它们命名为 mux,因为 mux 是来自电子术语的已知简写,意思是多路复用器。其他名称(例如 ansible 或其他名称)更多地根据人们对这些套接字的使用而命名。
至于它们的生命周期,它们在套接字处于活动状态时存在,然后被删除。
基本上,您只想按照约定来命名它们,该约定定义了可见且可识别的名称,同时保证每个不同的套接字都有唯一的名称。