3개의 UNIX 상자가 있습니다:
- 고객
- 바운스박스
- 외딴
REMOTE 컴퓨터는 바운스 박스로부터의 SSH 연결만 허용합니다. BOUNCE 상자의 로컬 SSH 구성 파일에는 다음이 포함되어 있습니다.
Host REMOTE
HostName remote.domains.tld
ControlPath ~/.ssh/master-r@%h
ControlMaster auto
ControlPersist 4h
ForwardAgent yes
IdentityFile ~/.ssh/id_rsa
위의 방법을 사용하면 단일 연결을 재사용할 수 있으므로 다른 콘솔 등이 필요할 때마다 로그인할 필요가 없습니다.
SSH 터널(예: ssh -L 22:REMOTE:22 user@BOUNCE
)을 사용하지 않고 CLIENT에서 REMOTE로 연결하고 BOUNCE에서 이미 열려 있는 연결을 재사용하여 새 콘솔을 열 때마다 다시 인증할 필요가 없도록 하고 싶습니다.
이것이 가능한가?
답변1
ProxyCommand
CLIENT와 BOUNCE 및 지시문 사이에 재사용 가능한 연결을 사용하면 원하는 작업을 달성할 수 있습니다.
클라이언트 파일에서 ~/.ssh/config
:
Host REMOTE
HostName remote.domains.tld
ProxyCommand ssh BOUNCE -W %h:%p
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster auto
ControlPersist 4h