의사 터미널을 통한 SSH 포트 전달

의사 터미널을 통한 SSH 포트 전달

상황은 다음과 같습니다.

내 모든 작업은 Mac에서 이루어집니다.

  1. 특정 리눅스 서버가 있습니다'서버 01'다른 Linux 서버에 대한 액세스 제공'서버 02' 의사 터미널을 통해

    그래서 ssh로 '서버 02', 저는 Mac에서 다음을 수행합니다.

    ssh -t server01 'inline server02'
    
  2. 그러더니 비밀번호를 물어보더라구요'서버 01';입력하면 로그인이 됩니다'서버 02'. 나는 지금 '에 있다'서버 02'단말기.

  3. 에서'서버 02'mysql 데이터베이스에 액세스할 수 있습니다'서버 03' 다음 mysql 명령을 사용하십시오.

    mysql --host=server03 --port=4201 --user=myuser --password=mypass mydb
    
  4. 어느 것도 아니다'서버 01'도 아니다'서버 02'내 Mac에도 SSH 액세스 권한이 없습니다.'서버 03'

이제 '에서 mysql에 액세스하고 싶습니다.서버 03일종의 포트 전달을 통해 내 Mac에서 직접 연결됩니다. 따라서 Mac 터미널에 다음 명령을 입력하면 '에 있는 mysql 데이터베이스에 연결되어야 합니다.서버 03':

mysql --host=localhost --port=4201 --user=myuser --password=mypass mydb

이를 수행할 수 있는 방법이 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.

답변1

server01에서 server02로 SSH를 통해 연결할 수 있다면 시도해 볼 수 있습니다.

ssh -t -L server02:4201 server01 'ssh -N -L server03:4201 server02' 

체인 링크가 될 거예요

로컬 호스트: 4201 -> server02:4201 -> server03:4201

포트에 로컬로만 연결4201Apple 컴퓨터에서

비밀번호를 입력하지 않으려면 ssh-agent와 함께 키 인증을 사용하는 것이 좋습니다.

관련 정보