점프 호스트가 AWS Cloud9과 작동하도록 하는 방법을 알아내려고 노력 중입니다. 아래 사진은 에서 가져온 것입니다.블로그 게시물(내 준비 서버에서) 이 주제에 대한 기사를 쓰고 있습니다. 전체 장면(3,000단어 미만)은 블로그 게시물을 참조하세요.
다음은 관리자가 클라이언트(노트북)를 사용하여 수행하는 4방향 초기화 순서입니다.
-
관리자는
$C9_TARGET_HOST
(명령줄) 터미널을 사용하여 대상 서버( )에 로그인하고 터미널을 열어 둡니다. -
관리자는 두 번째(명령줄) 터미널을 사용하여 점프 호스트( )에 로그인하고
$C9_JUMP_HOST
터미널을 열어 둡니다. -
관리자는
$C9_JUMP_PORT
점프 호스트에서 포트( )를 열어ssh
AWS Cloud9의 연결을 수락합니다. - 관리자는 웹 브라우저를 Cloud9 웹 콘솔에 연결하여 Cloud9 환경 정의를 시작합니다.
- 관리자는 Cloud9 SSH 키를 제공하는 웹 페이지에 도달하면 해당 키를 클립보드에 복사합니다.
-
관리자는 대상 서버에 연결된 개방형 터미널을 사용하여 다음을 수행합니다.
-
에 Cloud9 SSH 키를 추가합니다
~/.ssh/authorized_hosts
. 새host
블록을 추가하면~/.ssh/config
대상 서버에서 점프 호스트로의 역방향 SSH 포트 전달 터널을 더 쉽게 정의할 수 있습니다. - 관리자는 점프 호스트에 연결된 개방형 터미널을 사용하여 다음을 수행합니다.
-
Cloud9 SSH 키 를
~/.ssh/authorized_hosts
.host
~/.ssh/config
ssh
-
관리자는
ssh
대상 서버에서 점프 호스트까지 역방향 포트 전달 터널을 정의했습니다. 즉, 점프 호스트가 점프에서 지정된 포트( )와 연결을 설정하면ssh
다음을 통해 대상 서버로 다시 연결됩니다. 터널 및 전달 명령$C9_JUMP_PORT
호스트.SSH -fNR \ $C9_JUMP_HOST:$C9_JUMP_PORT:localhost:22 $C9_JUMP_USER@$C9_JUMP_HOST
"-T" 옵션이 도움이 되는지 궁금합니다. "nohup"을 사용해야 합니까? -
관리자는 방금 생성한 정의를 사용하여 역방향 포트 전달 터널을 생성합니다.
nohup
관리자가 로그아웃한 후에도 그대로 유지되도록 터널을 생성할 때 사용됩니다. - Cloud9 웹 콘솔에서 점프 호스트를 정의한 후 관리자는 다음 버튼을 누릅니다.
- Cloud9는 점프 호스트에 연결을 시도합니다.
- Cloud9은 점프 호스트를 통해 대상 서버에 연결을 시도합니다.
- 성공하면 Cloud9은 관리자 웹 페이지를 다음 단계로 진행합니다.
- 관리자는 Cloud9 환경이 정의될 때까지 나타나는 각 다음 버튼을 클릭합니다.
해결책이 있는 사람이라면 누구에게나 블로그 게시물을 통해 공로를 인정하고 싶습니다.
답변1
그렇다면 원하는 것은 대상(개인 서버)에서 점프 호스트(공용 서버)로 역방향 터널을 설정하여 AWS에서 대상으로 연결을 설정할 수 있도록 하는 것입니다.
이 경우 대상에서 역방향 터널을 구축해야 하므로 다음과 같이 호출할 수 있습니다.
ssh -f -N -R $JUMPER:$PORT:localhost:22 $USER@$JUMPER
역방향 터널을 열어두기 위해 "ssh" 대신 "autossh"를 시도할 수도 있습니다. 이 명령은 모니터링 포트에 대한 추가 매개변수를 사용합니다.
autossh -M $MONITORPORT -f -N -R $JUMPER:$PORT:localhost:22 $USER@$JUMPER
$PORT:localhost:22 부분만 사용하는 경우 다음 두 단계를 거쳐 목표에 도달해야 합니다.
- AWS에서 서버를 점프하기 위한 SSH
- 역방향 터널링을 사용하려면 점프 서버에서 localhost:$PORT로 SSH를 실행하세요.
도움이 되었기를 바랍니다, 조지