예, ProxyCommand
SSH 구성에서 사용 합니다.
홈 디렉토리에 SSH 구성 파일을 작성하십시오 (시스템 전체를 작성하지 않는 한) ~/.ssh/config
.
Host unibroker # Machine B definition (the broker)
Hostname 12.34.45.56 # Change this IP address to the address of the broker
User myusername # Change this default user accordingly
# (`user@unibroker` can overwrite it)
Host internalmachine # Machine A definition (the target host)
ProxyCommand ssh -q unibroker nc -q0 hostname.or.IP.address.internal.machine 22
이제 다음을 사용하여 머신 A에 직접 연결할 수 있습니다
ssh user@internalmachine
또한 이제 단일 SSH 호스트 대상 이름이 있으므로 다른 응용 프로그램에서도이 이름을 사용할 수 있습니다. 예 :
SCP가 파일을 복사합니다.
scp somefile user@internalmachine:~/
GUI 응용 프로그램에서 :
sftp://user@internalmachine/
기계를 탐색 할 위치로 사용 하십시오.
KDE 기반 (돌핀) : 사용 fish://user@internalmachine/
노트
마치 마치 마치 마치 마치 마치 마치 원하는 기계로 hostname.or.IP.address.internal.machine
포트 ( 22
)를 변경하십시오 unibroker
.
유니 브로커 호스트의 netcat 버전에 따라 -q0
옵션을 생략해야합니다. 인증에 관하여; 기본적으로 워크 스테이션에서 두 개의 SSH 연결을 설정합니다. 이는 유니 브로커 호스트와 내부 머신 호스트가 모두 키 쌍 / 암호 및 호스트 키 확인을 위해 차례로 확인 / 인증되었음을 의미합니다.
설명
ProxyCommand
'netcat'을 사용하는 이러한 접근 방식은이 를 수행하는 한 가지 방법 일뿐입니다. SSH 클라이언트가 대상 컴퓨터와 직접 통신하여 클라이언트에서 호스트 키를 확인할 수 있고 브로커의 다른 키를 사용하지 않고 공개 키 인증을 사용할 수 있기 때문에이 기능이 마음에 듭니다.
각각 Host
새로운 호스트 섹션의 시작을 정의합니다. Hostname
해당 호스트의 대상 호스트 이름 또는 IP 주소입니다. User
의 사용자 부분으로 제공 할 내용입니다 ssh user@hostname
.
ProxyCommand
대상 기계의 파이프로 사용됩니다. 첫 번째 머신에 SSH를 사용 nc
하고 거기에서 대상 으로 간단한 'netcat'( )을 직접 설정 하면 기본적으로 이들 사이의 브로커에서 내부 머신으로 전달되는 평문입니다. -q
옵션은 출력 (단지 개인적인 취향을) 침묵한다.
netcat이 브로커에 설치되어 있는지 확인하십시오 (일반적으로 Ubuntu에서 기본적으로 사용 가능) -netcat-openbsd 또는 netcat-traditional .
여기에서는 여전히 암호화를 사용하여 SSH를 두 번 사용하고 있습니다. netcat 채널은 일반 텍스트이지만 PC의 SSH 클라이언트는 최종 대상 시스템과 함께 다른 암호화 된 채널을 설정합니다.