SSH ControlPath 및 Bastion 서버의 mux- 접두사

SSH ControlPath 및 Bastion 서버의 mux- 접두사

지원하도록 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

대답은 ControlPath가 ~/.ssh/XXX-%r@%h:%p사용자가 설정한 구성을 기반으로 하는 패턴을 사용하여 로컬 컴퓨터에 파일을 생성한다는 것입니다.

문자열은 임의적이므로 어디에도 문서화되어 있지 않습니다.

ControlPath는 다음에서 정의됩니다.이 기사:

ControlPath 항목은 다중화 연결을 위한 "제어 소켓"이 저장되는 위치를 지정합니다. 이 경우 %r은 원격 로그인 이름을 나타내고, %h는 대상 호스트 이름을 나타내고, %p는 대상 포트를 나타냅니다. 제어 소켓 이름에 이 정보를 포함하면 SSH가 제어 소켓을 분리하여 다른 호스트에 연결하는 데 도움이 됩니다.

실제로 ~/.ssh/ 폴더로 이동하면 Bastion 연결이 발생할 때 자동으로 생성되는 파일을 찾을 수 있습니다.

(참고: 이 요새는 다음과 같이 알려져 있습니다.점프 호스트)

답변2

@orberkov가 언급했듯이 이름은 임의적이지만 mux는 멀티플렉서를 의미하는 전자 용어의 알려진 약어이기 때문에 사람들은 mux라고 명명했습니다. ansible 또는 기타 이름과 같은 다른 이름은 사람들이 이러한 소켓을 사용하는 용도에 따라 달라집니다.

수명은 소켓이 활성화된 동안 존재했다가 삭제됩니다.

기본적으로 각각의 소켓이 고유한 이름을 갖도록 보장하면서 눈에 보이고 식별 가능한 이름을 정의하는 규칙에 따라 이름을 지정하기를 원할 것입니다.

관련 정보