의사 터미널을 통한 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' 

그것은 연결을 연결할 것입니다

localhost:4201 -> server02:4201 -> server03:4201

그냥 포트에 로컬로 연결4201맥에서

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

관련 정보